Skip to content

[Bug] Wait for complete native proof PID records #520

Open

Description

@djm81

Observed failure

PR #519 run 39350751733, job 118403058800 (execute (macos-14, 3.11)) failed before its delivered controller-loss measurement. The controller read an empty native-self-test.pid and raised ValueError: invalid literal for int() with base 10: '' before emitting launch JSON or WAIT_SENT.

The executed source was merge 2d796cd31c8f74aacaf6a69ba418c15176add24a, containing candidate 07d7b735483d9ebcfd25d4fed6f235e4eb88cbdc. Immutable contents reads bind both implicated files exactly to the candidate. The C self-test exclusively creates its private PID file and separately writes the decimal PID plus newline. An empty visible file is a legitimate intermediate publication state. Both active Python readers assume existence means completion.

Evidence: https://github.com/nold-ai/specfact-cli-modules/actions/runs/39350751733/job/118403058800 . A deterministic diagnostic using the genuine reader and an Event-gated real file writer reproduces the exception. This diagnostic is not failing-first regression evidence or native acceptance.

Bounded maintenance outcome

  • Specify complete PID-record readiness for the two active proof readers before adding regression tests.
  • Capture deterministic failing-first evidence with actual file creation and delayed publication. Repair the reader boundary and show focused passing evidence.
  • Preserve the existing five-second monotonic readiness deadline, polling interval, independent process birth checks, WAIT protocol, disappearance deadline, 100 physical repetitions and every mandatory matrix gate.
  • Keep malformed records and read errors as failures. Never derive new signaling authority or cleanup fallbacks from marker contents.
  • Leave native C, signed assets, module versions/manifests, dependency inputs, runtime policy, capabilities, historical frozen proof files and planning PRs unchanged.
  • Native acceptance remains failed until a new normally published source receives the existing hosted physical proof. Do not retry the unchanged failed job.

Parent feature #163 owns validation evidence maintenance. Implement as a separate maintenance OpenSpec delta, ci-04-native-pid-observation, alongside #518 on PR #519. No blockers or blocked-by edges are required for this reader-only fix. This does not reopen rejected issue #460 or take over its stale feature proposal. The code owner explicitly authorized necessary guideline-compliant implementation in this chat on 19 October 2026, Europe/Berlin. No merge, new waiver or protected machine authority is granted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingchange-proposalProposal for a new changecodebaseSpecfact codebase related topicopenspecopenspec change

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions