1.6 KiB
Source draft continuation, 2026-10-17 (Custodian preparation; no Apps assent):
tools/forgejo_configuration_prepare.py now supplies offline frozen-source
checks, exact proposed case-only OAuth/group-reference public projection,
metadata-only upgrade/inverse command templates and original-before/post/current
inverse guards. tests/test_forgejo_configuration_prepare.py exercises ten
synthetic offline cases. The preparer does not authenticate an acceptance or
observation, execute the helper/Helm, persist a transaction, or grant authority.
activate always refuses. It does not change the existing delivery/hand-over
receipt-only rollback or preexisting NOCHANGE paths.
Remaining T05 implementation is concrete: bind chart 12.5.0's actual public and private configuration projections; implement the owner committed-evidence journal's intent/post/inverse-attempt/outcome publication and recovery; bind a current attended owner operation session, with an independent inverse operation and disposition/revocation checks; enforce exclusion across every Forgejo release writer for check+mutation+readback. Existing Warden SQLite durability and process locking alone do not establish owner authentication or all-writer exclusion. Keep source dispatch disabled until these bindings exist. Preserve pending and publication-ambiguous outcomes for owner reconciliation. T02/T03 still owe the four real login/group observations and T05 the real created-only objects/receipt backend. Existing needs-change history, human acceptance and first-case tasks remain open; this preparation does not close them.