1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages
DocForge2/docs/MILESTONE_5_CLOSEOUT.md

5 KiB

Milestone 5 release-candidate closeout

Outcome

DocForge 1.4.0 has reached its documentation closeout candidate. Compatibility, migration, determinism, concurrency, recovery, policy, projection isolation, accessibility, performance, adoption, artifact reproducibility, and representative real-task evidence are maintained and passing.

This is not the final publication record. Milestone 5 remains active, and DocForge 1.0.0 remains the latest published stable release, until the documentation-bearing commit passes its final fresh-clone gate and the annotated v1.4.0 tag and Forgejo release are verified.

Candidate lineage

  • Merged Milestone 4 baseline: 6d06195950d33bcd2d712f8819bbfb3d6652ad03.
  • Frozen executable implementation: d2bb95fe6190e659cf66ba57c78be53b63b53240.
  • Fresh-clone legacy-tag verification: 97f3b6b1ae303c972387508557a3d54ea621a702.
  • Maintained aggregate recovery proof: 2b98059b44f4d46b4d4cce776f163e893c647c76.
  • Intended release version and tag: 1.4.0 and v1.4.0.
  • Publication channel: public Forgejo release only.

The tag does not exist yet. It must resolve 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.
  • 371 complete tests plus 419 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 later proof-only recovery commit adds four maintained tests. The aggregate recovery gate now passes 72 tests plus 62 subtests. The final fresh clone owns the final complete-suite total.

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-ast remains 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 still pending

The remaining sequence is exact:

  1. Commit this coherent documentation closeout on the verified candidate lineage.
  2. Run documentation-only checks and confirm the final worktree contains no unrelated changes.
  3. Merge and push the final candidate so main, dev, origin/main, and origin/dev agree.
  4. Run the complete fresh-clone release rehearsal at that exact remote commit.
  5. Build the final artifacts and checksum manifest from the verified commit.
  6. Create and push one annotated v1.4.0 tag at that commit.
  7. Publish and verify the Forgejo release and attached artifacts.

Until all seven steps succeed, the milestone status is release candidate rather than complete.