feat(harness): auto-map agents in empty planners - #791
Conversation
Review — PR #791 (fix(harness): auto-map agents in empty planners)No confidentiality issues found in the changeset, README, or code comments. 1. The startup turn is dispatched as visible PTY input — the user sees an 11-line instruction block as their own first message
Result on a fresh empty-map planner: before the user types anything, the transcript opens with eleven lines of internal instructions ("This is an Agent Studio startup task…", "Never confirm, launch, deploy…") plus 2.
|
|
Addressed the startup review findings in a9bd8de:
Post-review validation passed: 51 focused tests, the full harness suite (3,309 unit/integration tests and 10 performance tests), build, typecheck, lint, terminology check, provider-copy check, and |
Follow-up review — PR #791 (delta since
|
|
Fixed the correlation regression in a551bc5. Generating attempts are now retired rather than cleared when user input preempts them, so a delayed I also checked the lower-confidence adapter concern. Planner requests are schema-limited by Validation on a551bc5: 51 focused tests, full harness suite (3,309 unit/integration tests and 10 performance tests), lint, typecheck, and |
|
/review |
Follow-up review — PR #791 (delta since
|
|
Fixed both remaining retired-correlation branches in a24ca7d:
Validation on a24ca7d: 52 focused tests; full harness suite with 3,310 unit/integration tests and 10 performance tests; lint; typecheck; and |
|
/review |
Follow-up review — PR #791 (delta since
|
|
Addressed the final approved-review inconsistency in b738492. The generic non-retryable cleanup is gone: proven-no-submit callers already remove their expected entry before Added a red/green regression using Validation on b738492: 53 focused tests; full harness suite with 3,311 unit/integration tests and 10 performance tests; lint; typecheck; and |
|
/review |
Follow-up review — PR #791 (delta since
|
Primary change type
Problem and motivation
A project can already contain agents and explicit dependencies while its Agent Map workspace is still unstarted. Opening the shipped planning session currently leaves that map empty and waits for the user to know that they must request a map, so existing architecture is not surfaced naturally on first entry.
Summary and scope
Fresh planner sessions now schedule one durable startup turn when the workspace has no confirmed revision, active proposal, or project build plan. A short, single-line request is visible in the CLI, while the detailed read/validate/propose policy stays in trusted planner context. The turn re-reads the authoritative map, inspects project files read-only, validates evidence-backed nodes and relationships, and creates an unconfirmed proposal for the user to review. Existing maps and live, resumed, or rehydrated sessions preserve their prior state and do not replay the startup task. The coordinator retains its existing persistence, retry, authorization, and telemetry protections, uses human-readable retry ordinals rather than exposing internal IDs, and lets accepted user input preempt unfinished startup work.
This does not deterministically promote discovered implementations into confirmed map authority, infer unsupported relationships, confirm proposals, edit project source, launch agents, or begin implementation.
Related work
Related issue or discussion: N/A — focused regression fix for the shipped Agent Map planner startup.
Validation
Tests and documentation
Updated planner-session, startup-coordinator, and real server/MCP wiring coverage for empty-map activation, nonempty-map suppression, evidence-only trusted instructions, single-line visible delivery, user preemption, retry correlation, and separate readiness/model deadlines. Updated the harness README and added a minor Changeset for the user-visible startup behavior and provider usage.
Compatibility and release impact
.changeset/early-maps-start.mdfor an@sapiom/harnessminor release.Security
will follow the
Security Policy for
private reporting.
AI assistance
Codex traced the planner startup lifecycle, implemented the scoped bootstrap behavior, and added regression coverage. I reviewed the resulting diff and verified it with the build, typecheck, lint, full unit/integration/performance suite, terminology check, provider-copy check, and whitespace check listed above.
Checklist
CONTRIBUTING.md, and this contribution follows the direct-PR or issue-first policy.any N/A checks above.