local-fs mtime pinning breaks on uutils coreutils; readiness probe passes without honoring %3N width #23

Closed
opened 2026-08-11 19:24:00 +00:00 by jbr870 · 1 comment
Owner

Spawned from finding F-PO-21-3-1 (pre-existing) on issue #21 during /develop (auto-applied disposition, developer-decidable).

Observed: All four forge flow tests (smoke.sh, disposition-flow.sh, promotion-flow.sh, release-flow.sh) die at pristine HEAD on a box whose date is uutils coreutils 0.8.0: touch: Unable to parse date: @1786473805899219.616. local-fs/_lib.sh's _lfs_touch_ms builds @epoch.frac from date +%s%3N, but uutils ignores the %3N width and prints all nine nanosecond digits.

The sharper defect: the readiness preflight for local-fs probes GNU date with a charset/length check that uutils passes without honoring the format — the guard reports ready on a box where the adapter cannot pin mtimes. The probe should verify the observed output length (13 chars for %s%3N seconds+millis), not just digits.

Fix directions: (a) harden _lfs_touch_ms to truncate/normalize the fraction; (b) tighten the readiness probe per above. Either alone closes the observed failure; both close the class.

This issue was deferred out of the parent feature's scope; it carries no PREQ yet. Run /requirements --issue=<this> to flesh it out before planning.

Spawned from finding `F-PO-21-3-1` (pre-existing) on issue #21 during /develop (auto-applied disposition, developer-decidable). **Observed:** All four forge flow tests (`smoke.sh`, `disposition-flow.sh`, `promotion-flow.sh`, `release-flow.sh`) die at pristine HEAD on a box whose `date` is uutils coreutils 0.8.0: `touch: Unable to parse date: @1786473805899219.616`. `local-fs/_lib.sh`'s `_lfs_touch_ms` builds `@epoch.frac` from `date +%s%3N`, but uutils ignores the `%3N` width and prints all nine nanosecond digits. **The sharper defect:** the readiness preflight for local-fs probes GNU date with a charset/length check that uutils *passes* without honoring the format — the guard reports ready on a box where the adapter cannot pin mtimes. The probe should verify the observed output length (13 chars for `%s%3N` seconds+millis), not just digits. **Fix directions:** (a) harden `_lfs_touch_ms` to truncate/normalize the fraction; (b) tighten the readiness probe per above. Either alone closes the observed failure; both close the class. This issue was deferred out of the parent feature's scope; it carries no PREQ yet. Run `/requirements --issue=<this>` to flesh it out before planning.
Author
Owner
{"status":"active","into_issue":"26","source_kind":"sibling-stub","absorbed_finding_refs":["F-PO-21-3-1"],"rationale":"uutils mtime-pin failure + false-ready probe consolidated into the local-fs comment-integrity feature (#26) — same mechanism as #13's partial-write blast radius"}
<!-- promoted-into:v1 issue=23 into_issue=26 --> ```json {"status":"active","into_issue":"26","source_kind":"sibling-stub","absorbed_finding_refs":["F-PO-21-3-1"],"rationale":"uutils mtime-pin failure + false-ready probe consolidated into the local-fs comment-integrity feature (#26) — same mechanism as #13's partial-write blast radius"} ```
Sign in to join this conversation.
No description provided.