feat(core): the data home, the lens texts, and --version naming both
process/ holds the procedure, the five lens texts, the templates and the
skill under process/skill/prepush/. A lens text's sha256 is part of every
reuse key and the texts are part of every prompt, so they carry no SPDX
header; --version prints the charter hashes: 1728bd4c, 148d5c4c,
c7ffef44 and 2b9a5f83 for the four charters.
Home() finds them: CRAFTER_REVIEW_HOME, natively only (a host setting
must not swap the Flatpak's texts for a checkout's), then
<exe>/../share/crafter-review, then the checkout the binary was built in.
Main() hands `__supervise` to the supervisor before anything else, then
decides the sandbox once.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 05:51:37 +01:00
|
|
|
# <slug> push manifest
|
|
|
|
|
|
|
|
|
|
repo: <path> range: <base ref> <base sha> .. <branch> (<n> commits)
|
|
|
|
|
exported: <date> hash: <sha256 over the exported patch set>
|
|
|
|
|
tree: `.` (the checkout) | `.review-gates/trees/<repo>-<hash8>`
|
|
|
|
|
application: <appUrl>, started with `<functional.start>` from the tree above
|
|
|
|
|
database: <supabase.dbUrl, password masked>, reset from the tree above (when a lens has the supabase environment)
|
|
|
|
|
environments: <lens: environment, as the dump's `environments` lists them>
|
|
|
|
|
dispositions: gate-state/dispositions.json (the register: every discharge with its grounds)
|
|
|
|
|
gate 0: <the commands run and where their output is kept>
|
|
|
|
|
run line: `run-line.txt` (built from freeze.json)
|
|
|
|
|
|
|
|
|
|
## Rounds
|
|
|
|
|
|
|
|
|
|
| round | hash | lens | verdict | findings → action (fixed / refuted(Dn) / waived(Dn) / contested(Dn)) · notes → action |
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
INCOMPLETE runs (a lens did not return) are rows marked INCOMPLETE, never a
|
|
|
|
|
pass; test runs with `--only` / `--units` are never rows. A round without the
|
|
|
|
|
functional lens says so in its row: `--without repo-functional.md` (a per-run
|
|
|
|
|
ruling) or `lenses.repo-functional.run = false` in the config (the
|
|
|
|
|
repository's rule).
|
|
|
|
|
|
|
|
|
|
## Push-time checks (banked from `send-time-check` and `unverified` notes)
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
feat(lenses): the commit-truth lens, repo-facts, as Gate 4
Every claim in every commit message, and in the documentation the range
adds or changes, proven or gone. The lens's block kinds are text, doc and
slot: a message unit is keyed on its text, the base and the code up to its
commit (MessageDeps); a documentation unit on its file, its normalised
text, the base and the code of the whole range (DocKeyParts); a diffstat on
its text alone; whole:order and whole:absent are asked in slot passes of
its own, never stored. A documentation file's diff header and a part the
commit writes nothing in are a mechanical n/a. Budgets 60/40 for a text or
doc block, 50/35 for a slot; one read. Gate 4, after the proofs, so the
messages and documents are read once the code they describe has settled;
the owner's gate is 5.
The goldens that follow from the lens table are derived by
tests/Goldens/derive.py, which asserts that the recorded table still
reproduces the recorded entries before it writes.
Proven, with the opt-in commit after this one: the suite (26 passed); a dry
run of a scratch range (2 commits, a README with sections) by the previous
binary and this one with the three static lenses on and the rest off, 25
prompts and 4 system files byte for byte; with repo-facts on as well,
those files unchanged and 10 passes and 1 system file added.
The lens's firing proof in this pipeline is owed (the owner's go).
2026-10-31 20:08:26 +01:00
|
|
|
approved: <date> @ <hash> (the owner, Gate 5 — saw the frozen patches, the discharged-findings list, contests and notes)
|
feat(core): the data home, the lens texts, and --version naming both
process/ holds the procedure, the five lens texts, the templates and the
skill under process/skill/prepush/. A lens text's sha256 is part of every
reuse key and the texts are part of every prompt, so they carry no SPDX
header; --version prints the charter hashes: 1728bd4c, 148d5c4c,
c7ffef44 and 2b9a5f83 for the four charters.
Home() finds them: CRAFTER_REVIEW_HOME, natively only (a host setting
must not swap the Flatpak's texts for a checkout's), then
<exe>/../share/crafter-review, then the checkout the binary was built in.
Main() hands `__supervise` to the supervisor before anything else, then
decides the sandbox once.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 05:51:37 +01:00
|
|
|
pushed: <date> <remote>/<branch> @ <sha> (PR: <url>)
|