54 lines
4.1 KiB
Markdown
54 lines
4.1 KiB
Markdown
# Astra integration review — control-plane repairs
|
|
|
|
After your first bounded controls session completes, inspect this followup and latest independent
|
|
review. Same owned files, model GPT-6 Astra, no delegates/commits/lab changes.
|
|
|
|
Lead inspected run_agent.py:
|
|
|
|
1. check_launch currently forbids unresolved surprises for ALL roles. This prevents the explicitly
|
|
assigned resolver from launching to resolve the surprise. Permit Astra lead/resolver recovery on
|
|
blocked contracts without a fresh worker checkpoint; keep ordinary workers blocked. Bind these
|
|
recovery launches read/decision scope, not implementation permission. Add regression test.
|
|
2. Prompt says 'Workers cannot change architecture' unconditionally even for lead/architecture-review.
|
|
Render authority by role; user explicitly requires Astra architecture actors to do that work.
|
|
3. Model availability plus a JSON event is not proof of successful run: detect `type:error` even
|
|
when process exits zero, and require a successful completed step event, actual session ID and
|
|
end checkpoint. Provider refusal/runtime error must not be recorded complete after old checkpoint.
|
|
Missing observed_model can remain explicitly unavailable; never invent observed model.
|
|
4. Check exact git worktree baseline again under run reservation lock (validation-to-use race),
|
|
and validate no underlying canonical RE model/prompt/config mutation while launch executes.
|
|
5. Verify normal noninteractive permissions actually permit the bounded worker to read assigned
|
|
paired worktrees and checkpoint canonical RE. If necessary add --auto for this user-authorized
|
|
launcher with explicit deny overrides or scoped external_directory grants. Test command/env; do
|
|
not leave a launcher that always yields incomplete due to noninteractive permission prompts.
|
|
6. Artifact restrictions currently permit only campaign/. Existing scientific evidence under
|
|
verify/ must be referenceable without copying huge corpora into campaign. Permit immutable hashed
|
|
artifact references anywhere within canonical RE EXCEPT secrets/outside symlinks; continue
|
|
keeping control records under campaign/runtime. Document this separation and test path escapes.
|
|
|
|
Independent reviewer may find additional real defects. Address confirmed issues in owned files,
|
|
add adversarial tests, checkpoint precise interface change for publishing/pilot/lead. Do not
|
|
modify another worker's files. Main will run complete tests and normal launch smoke after.
|
|
|
|
## Independent Astra review R4/R6 — mandatory integration fixes
|
|
|
|
Read campaign/rollout/independent-review.md. R4 (HIGH) is real: baseline path+HEAD cannot bind
|
|
uncommitted candidate/integrated sources. Add an explicit actual source-content binding to
|
|
evidence/verdicts, checked at promotion against the referenced candidate/integrated worktrees.
|
|
Use engine + relevant RE source file manifests/digests (with documented exclusions for mutable
|
|
campaign state/evidence outputs to avoid self-reference), and immutable artifact/input hashes.
|
|
Candidate source paths may be paired worktrees, integrated paths canonical; baseline still pins
|
|
starting commits. Refuse old evidence/verdict after same-HEAD source byte changes. One source
|
|
binding for all final integrated evidence must agree. Do not let a lead boolean substitute for
|
|
this identity check. Exact arbitrary criterion meaning remains independent-review responsibility;
|
|
document that boundary. Add test changing engine bytes without HEAD change and rejecting promotion.
|
|
Update schema/sample/README; pilot agent's proposed contract has no evidence so should stay valid.
|
|
|
|
R6 durable recovery: OLD valid checkpoint is okay for STARTING a new quantum; require freshness
|
|
only for handoff/promotion/end of this quantum. Do not demand fabricated fresh timestamps to
|
|
resume next day. Verify basis/artifact/source identities independently of age on recovery. Test.
|
|
|
|
Runner config provenance must hash expanded role prompt + relevant effective config, not just
|
|
JSON file containing a file-reference. Lead's tools/check_agent_config.py --resolved already
|
|
verified live OpenCode loader resolves prompts/models correctly. Temporary fixture git commits
|
|
are allowed ONLY inside disposable test repos for unit testing, never in the actual projects.
|