Abduction, deduction, induction are recorded as distinct stages.
Interactive technical companion
A forensic way to understand a codebase.
FORGE is a deterministic multi-agent repository-governance runtime for forensic software audits you can verify. It investigates codebases through evidence, falsifiable hypotheses, and tamper-evident artifacts—not opaque AI opinions. This companion explains its real methods, source contracts, agents, evidence boundaries, and the lessons gained while auditing Forge and stress-testing AI-generated code.
30-second architecture
One runtime, small layers with one job each.
FORGE is not a single script that scans a repository and prints findings. It is a small set of layers, each with one job, composed by one runtime.
| Layer | Lives in | Responsibility |
|---|---|---|
| Core | forge/models.py, canonical.py, sealing.py, metrics.py, severity.py, io.py | Typed data contracts, canonical serialization, SHA-256 sealing, run metrics |
| Specialized agents | forge/agents/*.py | Single-responsibility detectors — see docs/agents.md |
| Governance skills | forge/governance/runtime.py, forge/skills/* | Executable, versioned contracts loaded by domain applicability, not hardcoded into the core |
| Harness | forge/harness/*.py | Mines weaknesses from sealed runs, proposes bounded fixes, validates against the real test suite |
| Tracing | forge/tracing.py, forge/cronos/* | Event-level, tamper-evident record of what the runtime did, sealed alongside findings |
| Orchestration | forge/runtime.py, orchestrator.py, mcp_server.py, cli.py | The single execution engine and its thin frontends |
| Reporting | forge/report.py, tiered_report.py | Self-contained HTML at multiple detail tiers |
Methodology
Observe | Hypothesize | Falsify | Verify | Seal
The implementation separates observations, hypotheses, verification, and presentation. Select a stage to inspect what it does and what it does not claim.
The verification manifest and trace are tamper-evident artifacts.
Incomplete scope is never represented as a clean bill of health.
Exact rational values are used where ratios or confidence-like values matter.
A quick evaluation frame
Not another “find bugs” prompt.
FORGE makes the things a reviewer needs to trust an audit part of the result: declared scope, evidence, rejected hypotheses, limitations, role boundaries, and reproducible artifacts.
| Review model | Traditional AI auditor | FORGE |
|---|---|---|
| How it evaluates | Pattern matching | Evidence-backed findings |
| Reasoning trail | Hidden reasoning | Explicit reasoning stages |
| Output | Monolithic report | Typed forensic artifacts |
| What the reader is asked to trust | Confidence score | Evidence boundaries and provenance |
| Execution | Opaque execution | Deterministic runtime |
| Bottom line | Trust the AI | Verify the evidence |
The real runtime roles
Bounded agents, one sealed result.
Each role has a limited responsibility. The orchestrator merges provenance-bearing findings; it does not let one agent silently reason on behalf of another.
Archaeologistautomatic
Discovers files, detects stacks, classifies modules, and records deletion judgments. It establishes scope before downstream analysis.
docs/agents.mdBug Investigatorautomatic
Generates bounded, falsifiable hypotheses and sends them to AST verification and optional induction. A pattern is not silently promoted into a fact.
docs/agents.mdSecurity Auditorautomatic
Performs conservative AST checks for hardcoded credential defaults, unsafe deserialization, and visible path-traversal patterns.
docs/agents.mdIntegrity Inspectorautomatic
Checks decision-adjacent floats, monetary float provenance, and unversioned serialization. It is the component expanded after the checkout stress test.
docs/agents.mdWeb Auditorautomatic
Examines web-facing implementation patterns in the repository audit path and reports only source-supported observations.
forge/agents/web_auditor.pyReport Composerpresentation
Renders findings, discards, coverage, and chain-of-custody data into self-contained HTML. It does not invent findings.
docs/agents.mdPatch Revieweroptional
Reviews one unified diff against a stated intent; it is deliberately separate from the repository scan.
docs/agents.mdRecommendation Agentoptional
Produces bounded post-audit suggestions from sealed evidence. It does not rescan, rewrite code, or alter a finding.
docs/agents.mdSource of truth: the current runtime validates the roles listed in forge/agent_protocol.py. Documentation and implementation are intentionally linked here so technical reviewers can inspect both.
Evidence, not theater
Daubert-inspired engineering boundaries.
FORGE borrows forensic discipline: distinguish observation from inference, preserve discarded hypotheses, expose the testable boundary, and make artifact integrity independently checkable.
| Question | FORGE answer | Where to inspect it |
|---|---|---|
| What was inspected? | Triage plus a coverage report declares analyzed, excluded, unreadable, and unsupported material. | triage-manifest.json · coverage-report.json |
| Why is this a finding? | Every surviving record carries category, epistemic level, evidence, reasoning, and provenance. | verification-manifest.json |
| What was rejected? | Discarded hypotheses remain in the artifact with the stated reason. | discarded records · HTML report |
| How did the run proceed? | The audit trace records stages, tool-like runtime events, limits, and written artifacts. | audit-trace.json |
| Was the result altered afterward? | A SHA-256 seal binds the verification manifest and trace; it is tamper-evident, not a claim of analytical infallibility. | verification-manifest.sealed.json |
Abstention is a first-class outcome
A result can be complete with findings, complete without findings, degraded, or abstained. “Zero findings” alone is never the final claim.
README: dispositionsOne engine, multiple frontends
CLI, Python, and MCP invoke the same runtime. MCP changes the integration surface, not the deterministic authority or evidence model.
docs/mcp.mdaudit_repository(path="/path/to/repository", output_dir="forge-run")
get_findings(run_output_dir="forge-run")
get_coverage(run_output_dir="forge-run")
verify_seal(sealed_path="forge-run/verification-manifest.sealed.json")
Dogfooding and stress tests
Forge is part of the evidence, too.
The project treats its own defects and its blind spots as material for the audit trail. This is not a claim of perfection; it is a commitment to preserve the correction path.
Self-audit: a real Forge defect
A self-audit of Anna Tchijova’s unseen repository exposed an infinite loop in Forge’s own float data-flow handling when a name was reassigned in two branches. The fix added a regression test; the documented run fell from a timeout beyond 280 seconds to roughly 2.5 seconds.
README: self-audit evidenceVibe-coding stress test: money as float
A rapidly built checkout prototype exposed a detector gap: SQLite REAL monetary columns and arithmetic using / and round() bypassed the explicit float() detector. The Integrity Inspector now has a money-as-float family that detects these provenance patterns.
Sensitive and forensic repositories
For higher-consequence repositories, the relevant output is not merely a severity label: it is the scope boundary, evidence provenance, falsifiability, discarded candidates, trace, and seal needed for review under a Daubert-style discipline.
docs/philosophy.md · governance rationaleAll successful and failed historical FORGE runs are published for review in annatchijova/forge-results.
Public case studies / Casos públicos
Real repositories, visible adjudication.
FORGE was not demonstrated on repositories seeded with bugs. The snapshots, source history, sealed artifacts, and subsequent fixes are public so judges can inspect the complete path.
Stylometry: honest false positives
GitHub · GitLab mirror. Stylometry was a real Google-hackathon-winning repository, left untouched for roughly a month before the audit. FORGE produced reproducible findings, including contextual false positives. Codex checked them against the source, isolated a swallowed GitLab delivery failure and an entropy return-type mismatch, and the confirmed fixes were committed as 034069c and pushed.
Vigia: a useful false-positive lead
Vigia Intent Analysis produced an initial signal that looked contextual. The signal was not silently promoted to “confirmed”; Codex followed the evidence and found a separate real bug, which was corrected, committed, and pushed. The lesson is the workflow: deterministic evidence first, human or agent adjudication second.
SUCCESS CASE · CORVUS × CRONOS
Four FORGE frontends, one reproducible baseline, five verified corrections.
FORGE audited corvus-cronos-bridge through its CLI, Python API, MCP server, and orchestrator. Each frontend converged on the same baseline: a deterministic 50 + 3 shard plan, 53 CONNECTED_ALIVE modules, 73 observations, and one discarded hypothesis.
Most raw signals were correctly adjudicated as expected behavior. The surrounding review used those leads to find and correct five real reliability and integrity defects: fail-closed bundle verification, visible detector crashes, production CRITICAL-bundle sealing, and missing version identifiers in two audit hash chains. The correction trail, source history, and final verification are public in Wolf & CRONOS.
Boundary: a FORGE finding is not automatically a confirmed vulnerability, and a false positive is not automatically useless. Both the original evidence and the adjudication remain visible.
Skills: honest applicability
A policy document is not automatically an executable detector.
The skills catalog is deliberately visible here because reviewers should be able to see the difference between a documented policy, an executable contract, and a result marked undetermined.
Policy documents
Shared methodologies in skills-gpt/; they are included in agent protocol records but do not become findings by themselves.
Executable skills
Versioned plugins under forge/skills/ decide applicability and run checks; each has a manifest, contract, and positive/negative precision-corpus cases.
Applicability states
APPLICABLE · NOT_APPLICABLE · UNDETERMINED
What runs today
Six versioned contracts can be loaded without changing FORGE’s core. They evaluate only when their domain applies.
validate-at-the-boundary · honest-degradation · deterministic-core · atomic-state-mutation · sql-aggregation-not-materialization · tamper-evident-audit-chain
The extensibility path
A new governance skill is a directory with a versioned manifest and an applicability() / evaluate() contract. It is discovered by the runtime; it is not hardcoded into the audit core.
This distinction is intentional: Forge must not imply that a policy was enforced merely because a Markdown document exists. The skill runtime records applicability and limits; an unresolved applicability can trigger an abstention.
How the project was strengthened
Human-led, model-assisted engineering.
The collaboration history belongs in the documentation because it explains how Forge was improved, while keeping a firm boundary: built-in audit decisions remain local and deterministic unless a future model-backed adapter is explicitly installed and recorded.
Codex / ChatGPT contribution
Codex helped accelerate repository archaeology, test-driven hardening, report UX, stress-test design, and the evidence-package workflow. GPT‑5.6 Terra is the current collaboration session; prior multi-session work included GPT‑5.6 Luna. These collaborators help research, implement, review, and challenge assumptions under human direction.
The boundary that matters
The native audit pipeline does not present a model name as proof that a model ran. Model routing is configuration metadata today; parsing, detectors, hypothesis handling, sealing, and reports execute as deterministic local code.
Archaeology
Map the runtime, reports, MCP surface, and evidence contracts before changing behavior.
Adversarial review
Use vibe-coded prototypes and self-audits to turn false negatives into explicit detector and test work.
Communication
Make technical tradeoffs, scope limits, and abstentions understandable to judges and reviewers.
Attribution note: the Terra/Luna session history is build context provided by Anna Tchijova. It is not embedded in a sealed audit artifact and is not used by Forge to make an audit decision.
Read the source
This page is a map, not a substitute for evidence.
The technical claims above point to repository materials. Start with these primary documents and implementations.