4.7 KiB
Milestone 5 closeout
Outcome
DocForge 1.4.0 completes the first DocForge2 successor release. Compatibility, migration,
determinism, concurrency, recovery, policy, projection isolation, accessibility, performance,
adoption, artifact reproducibility, and representative real-task evidence are maintained and
passing.
The documentation-bearing candidate passed its complete local release gate. Its final
documentation-only descendant passes the anonymous exact-commit clone gate and is identified by
the annotated v1.4.0 tag and public Forgejo release.
Candidate lineage
- Merged Milestone 4 baseline:
6d06195950d33bcd2d712f8819bbfb3d6652ad03. - Frozen executable implementation:
d2bb95fe6190e659cf66ba57c78be53b63b53240. - Fresh-clone legacy-tag verification:
97f3b6b1ae303c972387508557a3d54ea621a702. - Maintained aggregate recovery proof:
2b98059b44f4d46b4d4cce776f163e893c647c76. - Release version and tag:
1.4.0andv1.4.0. - Publication channel: public Forgejo release only.
The tag resolves to the final documentation-bearing descendant of this lineage, never to the earlier executable-only commit.
Closed release evidence
The clean executable release gate passed:
- Formatting, Python and web lint, strict types, compilation, lock, dependency, package-build, generated-reference, and documentation checks.
- 142 contract tests plus 272 subtests.
- 378 complete tests plus 422 subtests.
- Three interactive accessibility flows.
- 116 compatibility tests plus 263 subtests.
- 29 concurrency tests plus 2 subtests.
- Offline fresh-wheel adoption.
- Reproducible wheel and source-distribution builds with exact version and MIT license identity.
- Gitleaks scans of reachable history and the candidate directory with no findings.
- Full maintained Milestone 0, 1, 2, 3, and 4 benchmarks.
The proof-only recovery commit adds four maintained tests. The aggregate recovery gate passes 72 tests plus 62 subtests.
Detailed migration identities, artifact evidence, recovery boundaries, and task measurements are in the Milestone 5 baseline.
Compatibility and migration result
Version 1.4.0 preserves the established distribution, imports, CLI, MCP, schema-1 descriptor,
generic-project, one-method adapter, exact-hash changeset, rendering, result-envelope, and no-AST
surfaces. New adapter, retrieval, projection, and release capabilities are additive.
The real annotated v1.0.0 archive migrates without canonical or proposal changes. Its schema-1
index rebuilds as schema 3, and its graph identity remains exact. The current CLI and MCP
registrations are supersets of the version-1 surfaces. The proof reports the inherited version-1
metadata/runtime mismatch instead of hiding it.
Representative task result
The pinned real-package comparison uses markdown-it-py 4.2.0, 66 Python files, and 225,945 bytes.
Graph-assisted and source-only workflows both return exact reviewed answers for direct
dependencies, bounded reverse impact, and a dependency path.
Graph-assisted medians were 0.008, 0.009, and 0.013 ms after one-time preparation, versus 1.341, 32.108, and 32.142 ms for source-only inspection. Graph-assisted work also reduced inspected bytes from 10,628 to 349, from 225,945 to 419, and from 225,945 to 212. Source-only final responses were smaller, so no universal response-size advantage is claimed.
Preserved boundaries
- Canonical project files remain authoritative. Indexes, caches, receipts, render output, graph output, client fragments, and viewer state remain disposable.
- Full rebuild remains the recovery and equivalence oracle.
- Derived publication is durable and atomic. Multi-file canonical application does not claim process-death atomicity.
--no-astremains a restrictive binding policy, not a parser detector or filesystem sandbox.- Reference adapters publish narrow static evidence and do not claim resolved calls, types, inheritance, runtime behavior, compiler semantics, or semantic ownership.
- Reference MCP remains read-only.
- No WorldForge, ScrapeStation, legacy repository, production binding, storage, or self-hosting change belongs to this release.
- No PyPI publication belongs to this release.
Publication
main, dev, origin/main, and origin/dev resolve to the exact documentation-bearing release
commit. An anonymous HTTPS clone of that commit verifies the frozen annotated v1.0.0 migration
tag and repeats the complete release gate before v1.4.0 is created.
The public Forgejo release attaches the reproducible wheel, source distribution, and machine-readable release-identity evidence containing their exact SHA-256 checksums. No PyPI publication, production binding change, or legacy-repository mutation is part of this release.