1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages

Document the 1.4.0 release candidate

This commit is contained in:
Andraxion 2026-07-29 16:50:39 -04:00
parent 2b98059b44
commit 49e1a87c13
13 changed files with 739 additions and 26 deletions

View file

@ -0,0 +1,101 @@
# 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](MILESTONE_5_BASELINE.md).
## 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.