Architecture¶
The tools are peers, not a hub. They interoperate through files and local APIs rather than sharing one runtime.
flowchart LR
A[aipostex\nDiscover] -->|attack-surface artifacts| M[meshmapper]
A -->|endpoint hints| S[Seam]
S -->|transcript| M[meshmapper]
M -->|path hypothesis + graph_ref| AS[Assay]
AS -->|direct/framed deliver probes| S
AS -->|finding| F[(finding.json)]
AS -->|render| P[(report.md/html)]
M -->|topology bundles| R[(robustness results)]
W[ait workbench] -.->|runs tools + collects artifacts| S
W -.-> M
W -.-> AS
Tool Roles¶
- aipostex owns discovery and protocol probing for MCP/A2A/agent surfaces. Its job is to write saved endpoint, card, registry, tool, resource, prompt, schema, memory/session, and candidate-technique artifacts.
- Seam owns in-path transport behavior and emits hash-chained transcripts.
- meshmapper fuses transcripts, discovery artifacts, and configs into a deterministic graph, emits unproven path hypotheses, and checks rule survival across deterministic topologies.
- Assay sends direct-vs-laundered and framed cases through the Seam local API, can attach explicitly bound meshmapper hypotheses, writes oracle-backed findings, sweeps lab-provided runtime labels, and renders reports.
aitsupervises workflows through public CLIs and files. It records run manifests, logs, checksums, scenario metadata, and report locations without embedding peer-tool internals.
Coupling Surface¶
The durable contracts are the shared schemas:
transcript.schema.jsondiscovery-artifact.schema.jsonpath-hypothesis.schema.jsonfinding.schema.json
Everything else remains tool-local. aipostex does not own in-path rewrite, Seam does not embed Assay, Assay does not own transport capture, and meshmapper does not claim proof.
Language Choices¶
Seam is Go because it owns in-path transport behavior. Assay and meshmapper are Python because they focus on proof, graph reasoning, and statistics.