7.1 KiB
Milestone state
Last completed milestone: 5 — stabilization and first DocForge2 release.
Baseline: annotated v1.4.0 release commit on main, dev, origin/main, and origin/dev.
Active milestone: none.
Outcome: Compatibility, determinism, recovery, security, performance, and representative task advantage are proven for the first successor release.
Status: Complete.
Release: 1.4.0.
Authority
This contract activated Milestone 5 from the clean, merged, and pushed Milestone 4 closeout. The
roadmap in /home/andraxion/.openclaw/workspace/DocForgeOutline.md supplies direction; this file
freezes the executable scope and acceptance criteria.
The completed release synchronizes main and dev at the documentation-bearing commit identified
by annotated tag v1.4.0.
Required release evidence
The release candidate must prove all of the following from maintained, reproducible gates:
- Legacy one-method adapter compatibility and the frozen package, CLI, MCP, schema, rendering, descriptor, result-envelope, and no-AST surfaces.
- Exact complete/incremental primary-graph and Logic equivalence for maintained incremental adapters.
- Deterministic adapter, worker, renderer, command-reference, configuration, and publication output.
- Detection of concurrent source mutation without publishing or serving a mixed or stale generation.
- Atomic, crash-safe derived publication and exact recovery from interrupted publication.
- Corrupt extraction-cache, index, attestation, receipt, fragment, and projection recovery using canonical sources as the authority.
- No stale reads after source or policy change, including generation-pinned retrieval and viewer behavior.
- Exact-hash canonical application with project-owned serialization, stale-proposal rejection, and post-application resynchronization.
- Closed policy precedence across process capability, descriptor policy,
--no-ast, projection policy, worker enforcement, and viewer enforcement. - Manual and portable-graph isolation, immutable package verification, bounded detached workers, rendering-policy enforcement, viewer-policy enforcement, and accessibility.
- Comparative representative task evidence with fixed questions, answer keys, provenance, latency, and response-size accounting for both graph-assisted and source-only workflows.
- A fresh-wheel and fresh-clone release rehearsal, full quality and browser gates, maintained benchmarks, secret scans, exact version identity, signed-off release notes, and reproducible release artifacts.
Deliverables
- A maintained Milestone 5 compatibility matrix and aggregate release gate.
- Reproducible migration, recovery, concurrency, and comparative-task evidence.
- One authoritative package version shared by package metadata, Python, CLI, MCP, viewer manager, reference MCP, generated configuration, and release documentation.
- A standard project license file, changelog or release notes, release baseline, closeout record, and machine-readable evidence.
- A clean
mainmerge, synchronizedmainanddev, annotatedv1.4.0tag, and Forgejo release only after the final documentation-bearing commit passes a fresh-clone gate.
Fixed boundaries
- Preserve the
docforgepackage,docforgeCLI,docforge-mcp, MCP tool names, schema version 1 surfaces, effective policy version 1, projection policy version 2, and legacy adapter entry point. - Preserve canonical project sources. Migration may rebuild disposable state but may not rewrite canonical content merely to satisfy the release.
- Full rebuild remains the recovery and equivalence oracle.
- Derived artifacts must fail closed on malformed, foreign, stale, oversized, or incompatible state.
- Version
1.4.0is additive relative to1.0.0; breaking a frozen contract requires a separately justified major-version decision.
Exclusions
- No WorldForge change or benchmark.
- No ScrapeStation change, production binding change, or production migration.
- No legacy-repository mutation.
- No production MCP repointing.
- No remote render service, render farm, third-party renderer ecosystem, graph federation, or dedicated graph database.
- No arbitrary adapter command execution, compiler execution, remote execution, or expanded launcher authority.
- No PyPI publication unless it is separately verified as an intended existing release channel.
Release sequence
- Freeze and implement the compatibility, migration, recovery, concurrency, and task-evidence gates.
- Stabilize version identity, packaging, license, security, and release automation.
- Freeze one clean executable candidate and run the full repository, browser, benchmark, fresh-wheel, fresh-clone, and secret-scan gates.
- Close documentation atomically against that candidate and rerun documentation-only validation.
- Merge and push the final candidate.
- Rehearse from a fresh anonymous clone at the exact commit.
- Create and push the annotated
v1.4.0tag and publish the Forgejo release from the verified artifacts.
The completed Milestone 4 contract and exclusions remain preserved in SLICE_HISTORY.md.
Release-candidate evidence — 2026-07-29
The executable implementation is frozen at
d2bb95fe6190e659cf66ba57c78be53b63b53240. The proof-bearing candidate base is
2b98059b44f4d46b4d4cce776f163e893c647c76; it includes exact legacy-tag verification for the
fresh-clone gate and four maintained aggregate derived-recovery tests.
The clean executable release gate passed formatting, Python and web lint, strict Pyright, compilation, lock and dependency checks, builds, generated documentation, three accessibility flows, fresh-wheel adoption, artifact reproducibility, secret scans, and the full Milestone 0 through Milestone 4 benchmark sequence. Its exact test evidence was:
- 142 contract tests plus 272 subtests.
- 371 complete tests plus 419 subtests.
- 116 compatibility tests plus 263 subtests.
- 29 concurrency tests plus 2 subtests.
- 68 recovery tests plus 62 subtests.
The real migration gate preserves exact canonical and proposal bytes from the annotated v1.0.0
lineage while rebuilding the disposable index from schema 1 to schema 3. The real-package task
gate uses the lock-pinned markdown-it-py 4.2.0 tree and proves exact graph-assisted and
source-only answers for all reviewed tasks.
The later proof-only recovery commit adds four maintained tests without changing executable product code. The current recovery aggregate passes 72 tests plus 62 subtests.
The documentation-bearing candidate 49e1a87c138cdc63fb5abb85fc6eb2cf9f4a9d73 passed the complete
local release gate with 378 tests plus 422 subtests, all three accessibility flows, and every
focused and full gate above. Its final documentation-only descendant is the commit identified by
annotated tag v1.4.0; that exact remote commit passes the anonymous fresh-clone rehearsal before
tagging.
The public Forgejo release publishes the reproducible wheel, source distribution, and
machine-readable release-identity evidence from the tagged commit. main, dev, origin/main,
and origin/dev resolve to that same commit. No PyPI publication was performed.