Hiro development journal

Stage 6 evidence intake moves from idle to one real candidate

Candidate ready; exact reactivation approval pending Machine-readable JSON

Executive summary

Hiro's high-cadence evidence collection is now running every 30 minutes, and the missing upstream production lane can turn one completed proposal-only run into a fully validated Stage 6B documentation-evidence candidate.

The work uncovered and repaired two previously hidden blockers that would have prevented any real promotion: the live service lacked the required Stage 6 metrics endpoint, and external Git worktrees could not run the full repository suite because several required dependencies and the pinned runtime were unavailable there.

A fresh Daylab run produced 16 public evaluation observations with four failures, one improvement specification, four curiosity items, and 22 regression probes. The evidence pipeline preserved that imperfect result rather than filtering it for appearance.

The resulting one-file Markdown evidence candidate passed the required Stage 6 suite and complete repository suite on both the clean active base and an external detached candidate worktree. Both monitoring snapshots also matched.

All five source packets and the final candidate packet are immutable and their companion hashes verify. Exactly one candidate now waits in the Stage 6 inbox.

Stage 6B remains disabled with its external sentinel present because the implementation and policy hashes changed. A replacement activation-review packet is ready for one exact user approval.

Work completed

High-cadence evidence collection

Running
  • Reactivated the previously reviewed Stage 6 revision long enough to verify a healthy idle scheduled tick, then started the existing Daylab launcher at a 30-minute cadence.
  • Moved new engineering into an external worktree so the active approved revision remained clean while discovery continued.
  • Daylab now performs an explicitly enabled one-shot Stage 6 handoff after a completed run and records a host-local success marker so it cannot prepare a second candidate during the same activation.

Automatic evidence intake

Implemented and exercised
  • Added a production pipeline that derives a deterministic documentation-evidence note from an actual completed run summary.
  • The pipeline runs the mandatory Stage 6 policy suite and full repository suite on the clean base, captures live health and metrics, validates the candidate in an external detached worktree, checks monitoring again, freezes the opportunity, baseline, candidate, Stage 4, and Stage 5 packets, and invokes the previously implemented materializer.
  • The source summary is bound by SHA-256, and the output remains exactly one additive Markdown file with no runtime behavior change.

Real Stage 6 monitoring

Live
  • Added a local metrics endpoint that reports only observation count, error rate, and p95 latency from the latest 100 valid response envelopes.
  • The endpoint exposes no prompt or response content and is paired with Hiro's existing local health endpoint.
  • After restarting Hiro on the reviewed revision, health returned HTTP 200 and the metrics endpoint returned 100 observations with a measured 0.04 error rate and measured p95 latency.

Hermetic external validation

Repaired
  • A first clean-worktree full-suite attempt exposed that tracked tests imported a locally ignored benchmark package and productivity schema, while launcher tests expected the ignored pinned runtime inside every worktree.
  • Tracked the required benchmark source and productivity migration, and added an exact runtime junction provisioner for external candidate worktrees.
  • The provisioner is required in production and explicitly disabled only by controller fixtures that use a fake command runner.
  • The clean external worktree subsequently passed the complete repository suite.

Real candidate preparation

Candidate frozen
  • The fresh public evaluation completed at a 0.75 pass rate with four of 16 observations failing and produced one diagnosis-oriented improvement specification.
  • All 22 regression probes completed; one sports probe was degraded while the others passed.
  • The first automatic attempt completed validation but failed during temporary-worktree cleanup because Windows would not remove a worktree containing the runtime junction. No packets were written by that failed attempt.
  • The cleanup path was corrected to remove only the exact junction before Git worktree removal, covered by a regression test, committed, and retried against the same source summary.
  • The retry succeeded and froze exactly one candidate in the disabled inbox.

Decisions and reasoning

Validation and evidence

CheckStatusResult
New pipeline and metrics focused tests passed The focused coverage passed, including incomplete summaries, failed baseline validation, occupied inbox, monitoring regression, one-shot behavior, bounded metrics, and Windows runtime-junction cleanup.
Expanded integrated Stage 6 suite passed The integrated Stage 6 and related Daylab suite passed 77 tests before the final cleanup regression was added; the real candidate pipeline later passed the policy-defined 72-test subset twice on the exact final revision.
Clean external repository suite passed After tracking missing dependencies and provisioning the pinned runtime, all 440 tests passed in the clean development worktree.
Exact candidate base policy suite passed 72 policy-defined Stage 6 tests passed in 43.25 seconds.
Exact candidate base full suite passed 441 tests passed in 128.50 seconds.
Detached candidate policy suite passed 72 policy-defined Stage 6 tests passed in 42.02 seconds.
Detached candidate full suite passed 441 tests passed in 129.65 seconds.
Post-validation monitoring passed Both snapshots contained 100 observations with error rate 0.04 and p95 latency 10,176 ms; absolute and relative error-rate increases were zero.
Packet integrity passed All five source packets, the candidate packet, and the replacement activation-review packet matched their companion hashes and were frozen read-only.

Current state

Next steps