mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 08:41:13 -07:00
BRINGUP: drop the acceptance-tool text that was swept in from the shared working tree
It belongs to work in progress in another session; committing it here was a mistake. The working tree still carries it uncommitted.
This commit is contained in:
@@ -1379,51 +1379,6 @@ overrides the IE (DE applied while associated to the US AP), and
|
|||||||
clearing reverts to the 00 hint. The UI labels the default
|
clearing reverts to the 00 hint. The UI labels the default
|
||||||
accordingly ("Automatic — AP country, else World").
|
accordingly ("Automatic — AP country, else World").
|
||||||
|
|
||||||
## Release acceptance (forgetest, port 8090)
|
|
||||||
|
|
||||||
The release acceptance tool - the catalog, campaigns, domain
|
|
||||||
fingerprints, inheritance, the always-required core, invalidate-all,
|
|
||||||
the release gate, and the coverage currency rule - is specified in
|
|
||||||
`docs/ACCEPTANCE.md`; the tool lives in `forgetest/` and ships only on
|
|
||||||
the dev image (`forgetest` recipe, `/etc/init.d/forgetest`, HTTP :8090).
|
|
||||||
Status: **code landed 2026-08-15, host-verified and build-verified;
|
|
||||||
bench validation pending - ships with the next full image flash** (the
|
|
||||||
image manifest is an image change: `forgefirm-manifest.bbclass` entries
|
|
||||||
from every component recipe, the kernel and the module through
|
|
||||||
`do_deploy`, assembled by `forgefirm-image-manifest.bbclass` into
|
|
||||||
`/etc/forgefirm-manifest.json`, also deployed next to the image as
|
|
||||||
`*.forgefirm-manifest.json`). Build proof (dev image `20260815191634`,
|
|
||||||
built with the classes): the manifest carries all eight components
|
|
||||||
(forgectrl, grblhal-glowforge with the core submodule's files,
|
|
||||||
forgefirm-app merged from its three recipes, python3-gfhardware,
|
|
||||||
python3-gfutilities, kernel-module-glowforge and linux-fslc through the
|
|
||||||
deploy path, forgetest through the file mode), the DTB hashes and the
|
|
||||||
modules directory, and layer content hashes that are **byte-identical to
|
|
||||||
what `scripts/manifest-from-tree.py` computes on the workstation** - the
|
|
||||||
identity is content-defined, independent of the checkout's commit or
|
|
||||||
dirty state; forgetest is installed at S95 with the bench scripts. Host
|
|
||||||
proof: 44 unit tests (campaign
|
|
||||||
rules, fingerprints, artifact build + gate verification incl. the
|
|
||||||
negative fixtures - tampered artifact, covered-file change, platform
|
|
||||||
change, core inherited, stale invalidate, catalog change, implementation
|
|
||||||
change - and the runner + HTTP API end to end with a fake catalog and a
|
|
||||||
fake bench tool), the tree manifest generated from the recipe pins with
|
|
||||||
`scripts/manifest-from-tree.py` (submodule recursion verified on the
|
|
||||||
grblHAL core), the coverage lint reporting on it, and the gate refusing an
|
|
||||||
empty artifact cleanly; `.github/workflows/forgetest-ci.yml` runs the
|
|
||||||
same. Catalog v1 on the tool: the core `image.health`,
|
|
||||||
`kernel.latch-locked-idle`, `kernel.k1-k2`, `kernel.k3-unlock` and
|
|
||||||
`kernel.fire-abu` (the last three are the GATE A drills
|
|
||||||
`gate_a_kernel_drills.py` / `fire_test.py` ported as takeover tests with
|
|
||||||
their sequences intact and the software-witness pass criteria from the
|
|
||||||
2026-08-14 bench run; K3 and fire B/U prompt for the lid when
|
|
||||||
`laser_pgood` reports HV good), plus `forgectrl.auth`,
|
|
||||||
`forgectrl.settings-bounds`, `forgectrl.panel-serves`; the bench tab
|
|
||||||
lists every `scripts/bench` tool with `check-pwm`, `pacing-test`,
|
|
||||||
`bench-m2`, `flow-sampler` runnable, and `motion.pacing` +
|
|
||||||
`motion.jog-roundtrip` (ports of `pacing_test.py` / `bench_m2.py`). The
|
|
||||||
rest of the catalog and the bench ports are Next work item 15.
|
|
||||||
|
|
||||||
## Hardware facts bank (measured)
|
## Hardware facts bank (measured)
|
||||||
|
|
||||||
- **DRV8825 stepper drivers wedge on 40 V rail glitches** (factory board;
|
- **DRV8825 stepper drivers wedge on 40 V rail glitches** (factory board;
|
||||||
@@ -2688,21 +2643,3 @@ rest of the catalog and the bench ports are Next work item 15.
|
|||||||
goes with the wrapper; a forced daemon crash logs the wrapper's
|
goes with the wrapper; a forced daemon crash logs the wrapper's
|
||||||
`exited (N) - respawning in 5 s` line under `forgectrl`.
|
`exited (N) - respawning in 5 s` line under `forgectrl`.
|
||||||
|
|
||||||
15. **Release acceptance tool (forgetest) - CODE LANDED 2026-08-15,
|
|
||||||
host-verified; bench validation pending, ships with the next full
|
|
||||||
image flash.** Contract: `docs/ACCEPTANCE.md`. Remaining, in order:
|
|
||||||
(a) bench: boot the dev image (the manifest itself is
|
|
||||||
build-verified), run the v1 catalog from the page (the takeover
|
|
||||||
drills and the two motion tests are ports of proven bench scripts and
|
|
||||||
need their first run on the machine), export, and drive one UI-only
|
|
||||||
pin bump to prove the inherited/required split; (b) the
|
|
||||||
catalog: motion (liveness, hold/resume/cancel/abort, dead-man;
|
|
||||||
pacing and jog round-trip are in), cooling (flow-verify, confirm/escalate, fans quiet, fire
|
|
||||||
gate blocks arm), the live laser tests (emission witness = core,
|
|
||||||
disarm in hold, faultpos, kill-mid-fire, expected-stop), camera,
|
|
||||||
update/boot, cloud home-and-back, mode switch - each ported from its
|
|
||||||
`scripts/bench` drill; (c) flip the coverage lint to `--enforce` in
|
|
||||||
CI when the catalog covers every manifest path, and land the coverage
|
|
||||||
currency rule in `CLAUDE.md`; (d) port the remaining bench tools to
|
|
||||||
the `#bench` tab by safety class; (e) the first release runs the full
|
|
||||||
campaign and commits `releases/v<version>/acceptance.json`.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user