docs(#482): add OpenAI Symphony to landscape analysis - #7173
Conversation
Add OpenAI Symphony to the production agent orchestration section of landscape.md, with reciprocal pointers from agent-architecture.md and agent-infrastructure.md. Symphony is a study reference, not an adoption candidate: a central daemon with implementation-defined trust, cwd-discipline isolation, and single-agent self-review, opposite fullsend's repo-as-coordinator, sandbox-as-containment, and decomposed independent review. The entry is pinned to symphony@8001b52 (2026-08-12) and reflects current tracker adapters (Linear, GitHub Issues, Jira, Asana, GitLab), host-side tracker credential stripping, and collision-resistant workspace keys — not the Linear-only April 2026 snapshot. Borrowable pieces called out: workspace safety invariants, continuation-turn semantics, SSH worker scheduling, and token-accounting rules. Note: pre-commit could not fetch remote hook repos (HTTP 403). Equivalent local checks were run: gitleaks, lychee --offline --include-fragments, hack/lint-docs-links, EOF/trailing-whitespace/private-key scans. Closes #482
|
🤖 Finished Review · ✅ Success · Started 5:19 PM UTC · Completed 5:36 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $4.09 |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Risk Assessment: low (1/5) DetailsRe-review anchoring: Tier 1 signals unchanged from prior (docs-only, 3 files, ~78 lines, no protected/security/CI/dependency paths, same bot author), and this commit is again a minor correction-only delta (retargeted cross-reference, reworded sentence) fixing two more review findings on an already-reviewed PR. Tier 2 shows landscape.md as an active, expected churn hotspot for a living catalog document, already priced into the prior score. Tier 3 remains clean. Composite preserves the prior score of 1 (low). Previous runRisk Assessment: low (1/5) DetailsRe-review anchoring: Tier 1 signals are unchanged from the prior assessment (docs-only, no protected/security/CI/dependency paths, same non-first-time bot author, small diff), and the current diff is a minor correction-only delta to docs/landscape.md (citation fixes, a count fix, one added bullet). Tier 2 shows landscape.md as an active churn hotspot, expected for a living catalog document and already reflected in the prior low score. Tier 3 shows the PR appropriately closes issue #482 with no unresolved risk labels or discussion. Weighted composite rounds to 1 (low), preserving the prior score. Previous run (2)Risk Assessment: low (1/5) DetailsDocs-only PR (no protected paths, no security-sensitive files, no CI/dependency changes) by a non-first-time bot author, adding a small 75-line research entry; the only elevating signal is routine churn on the shared landscape.md catalog file, which is expected for a living document and does not offset otherwise uniformly low signals. |
|
Looks good to me Previous runReviewFindingsMedium
Low
Other notes
Next steps:
Previous run (2)ReviewFindingsMedium
Low
Other notes
Next steps:
|
|
🤖 Finished Fix · ✅ Success · Started 5:37 PM UTC · Completed 5:44 PM UTC Commit: Runtime: claude · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $0.82 |
…cape entry Addresses review feedback on PR #7173: - Attribute the four-tier credential delivery model to ADR 0025 (which introduces it) rather than ADR 0017 (which defines the two-tier model ADR 0025 extends), at both citation sites in the OpenAI Symphony entry - Update "Five distinct approaches" to "Seven" now that this PR's new pattern #7 brings the numbered list to seven entries - Add a Denial of Service / Resource Exhaustion bullet to the Symphony threat-model mapping so the per-threat analysis covers every threat named in the priority ranking one line above it Addresses #7173
🔧 Fix agent — iteration 1 (bot-triggered)Fixed all three review findings in the OpenAI Symphony landscape entry: corrected the ADR citation for the four-tier credential delivery model (ADR 0025, not ADR 0017) at both occurrences, updated the stale 'Five distinct approaches' count to 'Seven' to match the newly added seventh pattern, and added the missing Denial of Service / Resource Exhaustion bullet to the Symphony threat-model mapping. No disagreements — all three findings were verified correct against the repository's ADRs and threat-model doc. Verified with scan-secrets, pre-commit-equivalent checks (end-of-file/whitespace/merge-conflict/private-key/symlinks), hack/lint-docs-links, and a full-corpus lychee link check (0 errors). Fixed (3):
Tests: passed Decision points
Next steps:
|
|
🤖 Finished Review · ✅ Success · Started 5:45 PM UTC · Completed 6:00 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $4.20 |
|
🤖 Finished Fix · ✅ Success · Started 6:02 PM UTC · Completed 6:08 PM UTC Commit: Runtime: claude · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $0.82 |
…ttribution Retargets the continuation-turn semantics bullet away from the stateless-vs-stateful open question (that question is about cross-task/ codebase memory, not intra-run multi-turn execution) and describes it as its own intra-run session-reuse axis instead. Rewords the Pattern 7 summary so the "judgment in the controller" trade-off is attributed to Symphony specifically rather than implied for Forge, Gas City, and Kiro Crew collectively, consistent with the Symphony entry's own Gas City contrast. Addresses #7173 Note: pre-commit could not fetch remote hook repos in this sandbox (HTTP 403); ran the equivalent local hooks directly instead (lint-broken-symlinks, lint-docs-links, lychee offline/include-fragments) plus manual trailing-whitespace/EOF checks - all passed.
🔧 Fix agent — iteration 2 (bot-triggered)Addressed both current-iteration review findings: fixed a category-error mapping of Symphony's continuation-turn semantics to the wrong fullsend open question, and reworded the Pattern 7 summary so the controller-judgment trade-off is attributed only to Symphony, not implied for Forge/Gas City/Kiro Crew collectively. Both prior-iteration findings (credential-tier citation, stale pattern count, missing DoS bullet) were already fixed in a previous commit and verified by the reviewer as resolved, so no further action was needed on those. The non-blocking backlink observation was reiterated by the reviewer as informational only and required no change. Fixed (2):
Tests: passed Decision points
Next steps:
|
|
🤖 Finished Review · ✅ Success · Started 6:09 PM UTC · Completed 6:27 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $3.14 |
Superseded by updated review
|
🤖 Finished Retro · ✅ Success · Started 7:00 PM UTC · Completed 7:09 PM UTC Commit: Runtime: claude · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $1.40 |
|
PR #7173 (docs(#482): add OpenAI Symphony to landscape analysis) closed issue #482 cleanly via triage → code → 3 review/fix cycles → human approval, merged in ~2 hours. Review quality was good: across two review passes the bot caught five real, substantive-to-nit findings (a wrong ADR citation attributing the four-tier credential model to ADR 0017 instead of 0025, a threat listed in the priority list but not analyzed, a stale 'five approaches' count, a claim mismapped to the wrong open-question category, and an internal contradiction about Gas City's controller having 'judgment'). The fix agent resolved all five with no disagreements, and round 3 correctly self-scoped by declining to add backlinks outside AGENTS.md's stated rule. The one human action beyond re-triggering triage was a same-day approval after the bot had already approved a low-risk (1/5) docs-only change — an appropriate confirmation, not a rubber stamp devoid of value. Two systemic patterns surfaced here are already well tracked elsewhere, so I'm recording them as evidence rather than new proposals: (1) a transient GitHub 422 when posting a file-level comment whose line fell outside the diff hunk — the designed fallback (fold into review body) worked correctly, and this is the same root cause tracked by fullsend-ai/agents#193 and the open #6039; this run is one more data point that the underlying diff-hunk validation gap (agents#430/#699/#760, blocked on fullsend#2569) is still open. (2) Total workflow cost was ~$20 (triage $0.44, code $6.68, three review passes at $4.09+$4.20+$3.14, two fix passes at $0.82 each) for a pure-markdown, non-security, RICE-0.4 change — consistent with the still-open fullsend-ai/agents#373 ('skip irrelevant review dimensions for docs-only PRs') and #5298 (docs sub-agent budget prioritization); no new issue needed. I also checked for and found no gap in risk-assessment anchoring (score stayed correctly pinned at low/1 across all three re-reviews, unlike the anomaly agents#1037 recently addressed). Given the two observed friction points are already tracked by open issues, and fullsend#5817 flags an existing glut of narrow duplicate 'skip retro' issues to avoid compounding, I'm filing no new proposals for this run. |
Summary
Adds OpenAI Symphony to the landscape analysis as a production agent orchestration system, with reciprocal pointers from the agent-architecture and agent-infrastructure problem docs.
Symphony is treated as a study reference, not an adoption candidate: a central daemon with implementation-defined trust, cwd-discipline isolation, and single-agent self-review, opposite fullsend's repo-as-coordinator, sandbox-as-containment, and decomposed independent review.
Related Issue
#482 — Research: Evaluate OpenAI Symphony against fullsend's architecture
Changes
docs/landscape.md(production agent orchestration systems), covering coordination, trust/security, isolation vs per-repo autonomy, proof of work, governance, and implementation reusabilitydocs/problems/agent-architecture.md(coordinator contrast, next to Forge and Gas City)docs/problems/agent-infrastructure.md(SSH worker extension as a remote-execution data point)The write-up is pinned to
openai/symphony@8001b52(2026-08-12) and reflects current tracker adapters (Linear, GitHub Issues, Jira Cloud, Asana, GitLab), host-side tracker credential stripping, and collision-resistant workspace keys — not the Linear-only April 2026 research snapshot.Borrowable pieces called out (non-blocking follow-ups, not implemented here): workspace safety invariants, continuation-turn semantics, SSH worker scheduling, and token-accounting rules.
Testing
lychee --offline --include-fragmentspasses on the full markdown corpus (0 errors)hack/lint-docs-linkspasses on changed filesscan-secretspass on changed filesmake lint(pre-commit) could not fetch remote hook repos in this sandbox (HTTP 403); equivalent local markdown hooks were run insteadChecklist
docs(#482): ...)Closes #482
Post-script verification
agent/482-symphony-landscape)d5f36921ac754705619f38c637ef692873809fbc..HEAD)