mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 08:41:13 -07:00
docs: build p29 on the pushed pins, image 20260902230436
CAMPAIGN-LOG: the push in CI order, the pin bumps, and build p29 with its checks. BRINGUP item 9: the remediation is pushed, pinned, and built; owed now is the flash, the fresh-boot baseline, and the full campaign on the image, which the release gate asks for.
This commit is contained in:
+17
-22
@@ -1352,39 +1352,34 @@ feature requests, enhancements) will eventually be tracked as GitHub issues.
|
||||
shape fits any by-eye tunable the commissioning flow meets.
|
||||
|
||||
9. **Audit remediation follow-through.** The 2026-09-01 audit's fixes are
|
||||
committed locally in every repository and host-tested, none pushed. Owed,
|
||||
in order: one pooled bench session on a locally built dev image (kernel
|
||||
module, forgectrl, grblHAL, gfhardware, gfutilities all moved, so the
|
||||
campaign is a full one; the drills that prove the safety fixes directly are
|
||||
pushed in every repository, pinned, and built (2026-09-02). The pooled
|
||||
bench session came first, on a locally built dev image (kernel module,
|
||||
forgectrl, grblHAL, gfhardware, gfutilities all moved, so the campaign is
|
||||
a full one; the drills that prove the safety fixes directly are
|
||||
`kernel.deadman-close` (new), `cloud.lid-during-button-wait` (now a job
|
||||
longer than the ring), `cloud.verdict-hold` (new, about twelve minutes with
|
||||
the loop heater), `motion.deadman` (the hang case recovers on a soft
|
||||
reset and `$X`: the stream fault is a critical alarm, which the core
|
||||
unlocks only after a reset, and the reset is what re-arms the stream),
|
||||
and the `cooling.*` set); then the push in CI order and the pin bumps.
|
||||
The session's queues are green on image 20260902144848, the unattended
|
||||
set and the attended set both (2026-09-02); the harness and diagnostic
|
||||
defects they found are fixed in local commits (the dated record is in
|
||||
CAMPAIGN-LOG). The two bench measurements are closed: the connector pads
|
||||
were not measured (the device tree carries the factory's pad configuration
|
||||
and the factory machine shows no trouble there, the operator's decision),
|
||||
and the forced kernel hang ended in the factory recovery after the 60 s
|
||||
watchdog with a power cycle returning, as documented. Owed now: the pushes
|
||||
in CI order, the pin bumps, one image build, and the campaign on that
|
||||
image, which the release gate asks for.
|
||||
and the `cooling.*` set). The session's queues are green on image
|
||||
20260902144848, the unattended set and the attended set both; the harness
|
||||
and diagnostic defects they found are fixed and pushed with the rest (the
|
||||
dated record is in CAMPAIGN-LOG). The two bench measurements are closed:
|
||||
the connector pads were not measured (the device tree carries the
|
||||
factory's pad configuration and the factory machine shows no trouble
|
||||
there, the operator's decision), and the forced kernel hang ended in the
|
||||
factory recovery after the 60 s watchdog with a power cycle returning, as
|
||||
documented. Image 20260902230436 (release and dev) is built on the pushed
|
||||
pins, the kernel and the module rebuilt together for the watchdog sysfs
|
||||
change. Owed now: flash the dev image, take a fresh-boot baseline, and run
|
||||
the full campaign on it, the campaign the release gate asks for.
|
||||
Decisions taken in the remediation that the operator confirms or reverses:
|
||||
the release image has no shell login (the install page now says so); the
|
||||
cloud client holds and resumes on the cooling verdict with a 30-minute
|
||||
bound (`cloud_hold_max_s`); `FORGEFIRM_RELEASE` is 0.0.1, so the bench slot
|
||||
at v0.1.0 will meet the installer's downgrade prompt; the `faultpos`
|
||||
live-fire drill is gone; a coolant sensor unreadable for two ticks is the
|
||||
SENSOR verdict. Bench measurements the audit asks for, pooled into the
|
||||
same session: the reset-to-probe state of the 40 V enable, the heater
|
||||
enable, the TEC enable and the laser-enable nets at the connector during
|
||||
a cold boot (the pads are 100 k pull-ups until a driver probes; a net
|
||||
that floats high gets a pull-down pad in the device tree); one forced
|
||||
kernel hard hang to confirm that the bootloader's watchdog-timeout path
|
||||
boots the factory recovery and that a power cycle returns from it.
|
||||
SENSOR verdict.
|
||||
|
||||
10. **PIC read pacing.** A PIC read within a fraction of a millisecond of
|
||||
the previous one returns a disturbed value (facts bank, "Coolant-ADC
|
||||
|
||||
@@ -7320,6 +7320,32 @@ So the documented path holds: a hard hang ends in the factory recovery
|
||||
after the 60 s watchdog, and a power cycle returns. The recovery page and
|
||||
the storage page say now what the console does not show.
|
||||
|
||||
## 2026-09-02: the push, the pins, and build p29
|
||||
|
||||
With the pooled session green and the measurements closed, the remediation
|
||||
went public in CI order: Glowforge-Utilities dbf80b8, python3-gfhardware
|
||||
1511336, kernel-module-glowforge 8315fd8, forgectrl 522cdb2, forgefirm-docs
|
||||
824f8c4, the grblHAL core fork f32d17e, meta-openglow 6a450f5 (the pins for
|
||||
the kernel module at 0.0.2, gfhardware, and gfutilities at 0.9.14+git),
|
||||
forgefirm 05cf734 (the pins for forgectrl at 0.1.1, grblhal-glowforge at
|
||||
0.1.1, and forgefirm-app at 0.1.22+git), then grblHAL-glowforge b951f3a.
|
||||
Every CI run on those heads is green.
|
||||
|
||||
Build p29 on the pushed pins: `bitbake -c fetch` verified every bumped pin
|
||||
against GitHub; linux-fslc and the module were cleaned together (the kernel
|
||||
configuration gained `CONFIG_WATCHDOG_SYSFS`, and the module's package name
|
||||
carries the kernel's build hash); then both images built clean, release and
|
||||
dev `20260902230436`. The built-image checks: the kernel and the module both
|
||||
name `6.12.20-fslc-fslc-g3dc18b0dc67b`; the dev manifest records every pushed
|
||||
commit at the planned versions; `WATCHDOG_SYSFS`, `IMX2_WDT` and
|
||||
`STRICT_DEVMEM` are set; forgectrl carries the one-line settings dump and the
|
||||
busy-start exit; the logging init sets the datagram queue; the suite carries
|
||||
the corrected drills; no package list names gfui-client; the factory slots
|
||||
mount `nofail`; the release image has no mmap or ctypes; no QA warnings.
|
||||
Owed: the operator flashes the dev image, takes a fresh-boot baseline, and
|
||||
runs the full campaign (all three layer hashes moved), the campaign the
|
||||
release gate asks for.
|
||||
|
||||
## Reference notes
|
||||
|
||||
### Head-IRQ source validation — the beam-emission hypothesis
|
||||
|
||||
Reference in New Issue
Block a user