Skip to content

fix: restore group-driven proposal admission and discussion participation - #585

Merged
adrianwebb merged 41 commits into
stagingfrom
codex/group-admission553
Oct 21, 2026
Merged

adrianwebb merged 41 commits into
stagingfrom
codex/group-admission553

Conversation

@adrianwebb

@adrianwebb adrianwebb commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Outcome

Proposal participation follows governed shared group subscriptions. Agent/class selectors are rejected at the public backend boundary, proposal group membership survives edits, and planning contributions bind to the actual selected proposal.

Work authority

  • Work item / Issue: Complete accounting transition observations for strict Agent acceptance #553; five-slice plan in Continue coached Atlas team delivery and persistent agent improvements from #428 sdk#429.
  • Proposal / decision: Real UI proposal 07341861-d24b-471c-bf0d-86e68ec2df7a v2, shared group portfolio-atlas; open and not approved. Earlier readiness repair proposal d9ab400d-9712-401f-9543-e9228e0e077c / Decision 8f12db96-1742-45bd-94d2-e242e846d108 remains historically retained.
  • Assignment / checkpoint: First group workday workday-abaaf045-1b78-4cb8-a0f3-8c2432f5c56c; estimate assignment assignment_lxyTbK9MbU8ViBBtOeJ-9fiZjOhHALqv failed at kernel content commit. Owning consumer repair is fix: preserve shared groups in native proposal planning agent#503.
  • Actor: Codex integrator.
  • Human authority: @adrianwebb; explicit instruction to restore class/group/topic behavior through existing Issues and real portfolio work, repairing actual blockers.
  • Agent / capacity provider: UI team group; provider_-rcKRK8gG2NGnOU3yGu_CV3Wz7ACppTP. Integrator repairs blocked shared backend boundaries.
  • Exact base ref: staging 0df73b38026c80a321abd428a7e78f33dddc72bb, freshly fetched and verified.
  • Exact head ref: codex/group-admission553 38892d88397e3bd577e30f3097dfa1afc40b1d5b.

Contributor mode (select one):

  • Human-authored
  • Agent-assisted under human authority
  • Agent-authored under human authority

Plan

Small slices: preserve class/group/topic contracts; restore group authoring and admission; prove required participation/readiness; align operator surfaces; execute the real UI→Admin portfolio work. This PR delivers backend authoring/admission and the closeout repair exposed by the first real run. Group participation/readiness and cross-project selection are now implemented and undergoing real group-wide read-back; the complete release chain remains subsequent work.

Changes and commits

  • 305456b5, b79f4fd2: reproduce lost proposal/agent memberships and missing governed group writer.
  • d96fb39d: preserve groupIds through normal proposal revisions and agent projection; route existing group/group-edge models through the governed operational-content writer.
  • 4f753af9: retain existing independently reviewed readiness-counter product 01d0264f from Report truthful proposal estimate readiness #584 in the local development ancestry.
  • b9bf7ab8, 80acf006: derive all eligible configured planning profiles from shared group subscriptions; bind each planning contribution to its selected proposal; estimates depend on their owner's contribution and real configured dependencies.
  • 8d62d27f: propagate group scope into initial planning identity compilation after native preflight/graph mismatch.
  • cc9ae92b: pin protected SDK 69c07896708deaaed228cc6e14f12c41e5289981 and matching exact artifact Action.
  • 86747362, d4dbb187: reproduce and repair closeout of the first candidate's unissued, unqualified planned turn IDs. Reconcile those original IDs through normal graph cancellation; never rewrite its frozen plan or manufacture assignments/results.

No schema/store, dispatch path, new identity model, handler or permission is introduced. Singular classes and discussion-topic routing remain separate.

Verification

Focused authoring/projection checks: 45 passed across five files. Focused planning/admission checks: 49 passed across three files. Latest closeout/projector/lifecycle checks: 46 passed across three files. Strict npm run build:dist passed on the local development changes. These sets overlap and are not summed as distinct tests.

Native observations retained:

  • Seven existing UI/Admin/Platform agents have governed, published portfolio-atlas subscriptions with classes preserved.
  • Team and Platform publication initially failed on legacy Book/Page records; repaired through normal workspace review/publication, then all four publication operations succeeded.
  • UI proposal v2 was revised/opened through the public SDK/CLI and retained groupIds.
  • Actual API rejected agentSelection.agentSlugs and classSlugs without creating work.
  • First preflight omitted groupIds when compiling turn IDs: initial graph omitted three planning turns. Fixed at the owning compiler call.
  • Actual Engineer estimating attempt ran ~30 seconds, then the older Agent SDK rejected groupIds at kernel TreeDX preparation. No result/estimate accepted; sandbox teardown verified. Agent Preserve final retired feature history in main through staging #503 aligns that consumer.
  • Scoped stop exposed unmaterialized original planning IDs preventing report closeout. Focused regression failed before repair and passed afterward. Runtime closeout and retry are being observed; no final group workflow pass is claimed.

Required Actions are pending. Formal managed scene/guarantee proof, all required group contributions and real release chain remain unproven.

Risk and rollback

Group-scoped proposals now require intersecting governed membership; historical ungrouped content remains readable without inventing subscriptions. Existing issued authority, exact refs, permissions, original deadlines and failed history are retained. Revert this PR and rebuild the previously selected API through trsd to roll back; preserve published group content and historical products.

Additional real-work slices in this candidate:

  • Cross-project lookup regression f1b7c416 and custody regression e0221b4d failed before 32363254; 44 focused selection/assignment/projector checks pass afterward. Shared group members plan the same proposal across selected projects, while each writes Notes only in its own library. Estimates remain with the proposal's owning project.
  • Readiness regression (see commit history) failed on hardcoded flags; 4ac351ee / a196eec3 derive required members from governed group subscriptions and accept only completed, integrated canonical assignment results on the same authored proposal content. Existing approval fingerprint preserves participation across estimate-only revisions and invalidates substantive edits. Strict build exposed the legacy host/facade type boundary; fixed by reusing the owning class repository. Focused readiness checks pass, strict build passes.
  • Live read-back on real UI proposal v4 now has votingReady=false and lists exactly Admin Architect/Engineer/Reviewer and Platform coordinator as missing; all three UI contributions remain recognized across estimate-only v3/v4.
  • The UI planning workday completed all three planning Notes plus genuine Engineer estimate (2400/3600 seconds) and Reviewer estimate (360/600 seconds), followed by deterministic report and cancelled/ended closeout. This proves the bounded UI group slice, not the entire portfolio release.
  • Normal authored proposal v5 fixes circular sequencing and clears prior estimates for fresh participation. Group-wide real planning remains being observed with original end 2026-10-20T16:47:00Z.
  • Initial API CI 39454418023 retained 158 passes / two failures: exact SDK dependency syntax and an obsolete positive native agent-selector fixture. 2ea46fc2 restores canonical git+https syntax and replaces that positive case with actual group selection, retaining malformed-member denials and explicit agent/class targeting denials. Both focused failing cases now pass. Replacement required CI pending.

Further native group-wide admission observations are retained. Workday workday-9d95d341-a7a2-4e8d-bb8c-c9294c600828 admitted no contributors: shared proposal read-back incorrectly used the contributor project binding. Regression 3ace4d67 reproduced it; 1d185989 reads the proposal through its owning same-team project. All 28 focused context cases pass, including foreign-team denial. Its Reporter completed and the workday ended.

Retry workday-92c5ffb5-c8f8-4746-8146-8a2781d6a5ca then exposed the real Admin planning profile's proposal-write permission colliding with its own-library workspace. No contributor assignment was admitted. Regression 142caf33 captures the real profile; cd48c9d1 keeps every generated write target in the contributor library. Thirty-six focused assignment/workspace/projector checks pass; strict build passes. The regression cases were folded into existing functional suites after the 500-line and 10-file checks caught test layout overflow; both checks now pass unchanged. Previous stopped runs retain their original ends. Fresh expanded-v5 planning is prospective authority after closure, not a passing replay of either failure.

Completion summary

Backend group authoring/admission works in local development. This is not completion of the five-slice plan: group-wide contribution completion, cross-project discussion, operator release alignment and the UI/Admin implementation/review/release path remain explicit gaps. #584 is retained until this candidate actually passes and merges.

Submission checklist

  • The change is bounded to the stated work item and target repository.
  • Exact base and head refs are recorded and the branch is ready for review.
  • Verification and compatibility evidence are recorded above.
  • No plaintext secrets, credentials, machine state, or unrelated residue are included.
  • Plan, status, commits, and completion summary form a complete durable record.
  • Rollback or recovery steps are documented and executable.

Latest real portfolio observation (2026-10-20 17:00Z): workday workday-806022fb-cebb-487a-96c2-423bcd00fc16 selected all seven shared-group members; UI Architect and Reviewer contributed, but Admin/Platform source authorization rejected missing immutable contributor Git context. Scoped stop retained original deadline and failures. Regression d0a30b0a reproduces this; 9c922b2b reuses existing pre-issuance source freezing to include the contributor’s exact repository while retaining shared proposal Git citations. 28 ready-node tests pass. A wider focused run had 30 passes and one native PostgreSQL case blocked by absent explicit local test URL; this is not recorded as a pass. File-length/architecture checks pass. UI Engineer timing evidence was rejected for real unclocked shell calls and is being coached through the topic; no fabricated contribution or estimate was substituted. Required Actions remain pending on the new head.

Required Verify 39462360945 failed on one obsolete positive native Reporter-selection fixture: it still authored retired agentSlugs. GitHub annotation identifies reporting-selection-native.test.ts:77, workday_intent_invalid. Commit b35e0f4b uses shared portfolio-atlas group selection and a separate closeout occupation membership, retaining exact Reporter identity, independent lifecycle admission, frozen profile/read-back, no extra planning nodes, replay, negative cases, deadlines and limits. All four native Reporter selection cases pass locally. Required new-head Verify is pending; no failed check bypass or unchanged rerun.

2026-10-21 repair: run39467147417 passed package verification, then scene stopped at stale exact test binding execution-agent-selection-native (exit0/no matching passing case). Commit2a145d52 binds the actual group-positive/individual-negative native case and the relocated project-workspace case. The exact native group case passed (1 selected); relocated workspace file passed3 cases. Test inventory also audited; no behavior/assertion/allowance removed. Earlier failed scene retained; fresh required checks pending.

CI prerequisite repair: fresh runs39546125209/39546209826 stopped before scene execution at the unchanged1200s API prerequisite limit. Ordinary verify took21m20s. d066912 reuses only pristine empty PGlite initdb bytes in three shared test fixtures; every caller restores a new isolated database and applies unchanged migrations/assertions. No time or worker limits changed. Isolation plus original proposal-readiness checks9/9; affected central fixtures37/37; build and architecture checks pass. The same original8 readiness tests fell24.7s→19.1s locally. API Architect discussion send-c99df5b3d46be6e9785ce41f5379b51b reviewed the approach. Required full Actions rerun39555919991 remains authoritative.

Combined protected-delivery candidate32998e17eb83516c67f5769803d70d2c6f17ea1e retains #586 head0daf6e36c1f17f651638f0e4efa43e67b09fc3ab and #587 head2fd0f4f88c571ecdbaec82d883a312b5aa7c97a2 as Git ancestors, plus the pristine-database CI repair. The three existing slices now undergo one cumulative required Verify run before staging delivery. This avoids repeating the expensive native component campaign per stacked PR; no test, assertion, binding, deadline, or protection is omitted. Individual PR histories remain evidence; protected staging delivery is not claimed until this combined candidate passes and merges.

Release preparation38892d88397e3bd577e30f3097dfa1afc40b1d5b changes only package/lock version to0.8.0-rc.114, because rc.113 already tags the previous protected0df73b38 release. Combined functional ancestry32998e17 is unchanged. This preparation is included before the cumulative required Verify; no immutable release tag is reused. Superseded #586 Verify39546171260 was explicitly cancelled once its source became part of this combined candidate; cancellation is not a pass, and retained partial evidence/cleanup remains historical.

Latest exact candidate38892d88397e3bd577e30f3097dfa1afc40b1d5b repairs the remaining stale proposal replay scene bindings. Run39557555920 cleared full prerequisites and992/998 scene steps; one old test-name binding failed and5latersteps were blocked. Both same-project and producer-project replay cases now have explicit scene bindings; no case/assertion was removed. All8tail bindings each match exactly one actually collected Vitest case. Focused local run:21passed,2native cases failed because the disposable native TreeDX environment was absent; not skipped or claimed passed. Required fresh Actions must establish the native passes before merge. The API implementation/version is unchanged from452a30b1.

Final protected delivery (2026-10-21): required Verify39569564428 PASSED on38892d88. Its downloaded native report records1 guarantee,1000/1000 steps passed,0failed/blocked/skipped. Protected staging merge isd0d726be81701eb1b157b348697834b7358e3068; exact585/586/587slice commits are verified ancestors. Local API source adopted at that protected commit through trsd dev rebuild api.service; existing live/candidate modes preserved. Staging Verify39584213370 and candidate publication39584213555 are still running; rc.114 is not yet published or claimed adopted as a release.

adrianwebb and others added 11 commits October 20, 2026 07:12
Apply the exact API Engineer patch from canonical TreeSeed candidate bd2ad93f71f956974bb7152981bc5b76d4e028e6. Independent Reviewer assignment_oKJT1zdHl4pf_5AeSVmccfyNBZoLjAbl approved that candidate; review content cac68f9f4e55fcfbd468797b97076ff8da5e27e1. Integrator retrieved the original patch through supported public diagnostics, patch SHA256 09d70244c25a27f76b1f0e2f6aa50d689adda12c8addd1bbe83a2f727e22ecd0. This delivery commit applies the agent-authored source unchanged; original candidate remains in the governed simulation repository.

Co-authored-by: API Engineer <api-engineer@agents.treeseed.localhost>
@adrianwebb adrianwebb changed the title fix: admit proposal planning through shared agent groups fix: restore group-driven proposal admission and discussion participation Oct 21, 2026
@adrianwebb
adrianwebb merged commit d0d726b into staging Oct 21, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant