Repository navigation
fix: restore group-driven proposal admission and discussion participation - #585
Merged
Merged
Conversation
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>
This was referenced Oct 20, 2026
Continue coached Atlas team delivery and persistent agent improvements from #428
treeseed-ai/sdk#429
Open
Open
…admission candidate
7 of 9 tasks
8 of 10 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
07341861-d24b-471c-bf0d-86e68ec2df7av2, shared groupportfolio-atlas; open and not approved. Earlier readiness repair proposald9ab400d-9712-401f-9543-e9228e0e077c/ Decision8f12db96-1742-45bd-94d2-e242e846d108remains historically retained.workday-abaaf045-1b78-4cb8-a0f3-8c2432f5c56c; estimate assignmentassignment_lxyTbK9MbU8ViBBtOeJ-9fiZjOhHALqvfailed at kernel content commit. Owning consumer repair is fix: preserve shared groups in native proposal planning agent#503.provider_-rcKRK8gG2NGnOU3yGu_CV3Wz7ACppTP. Integrator repairs blocked shared backend boundaries.0df73b38026c80a321abd428a7e78f33dddc72bb, freshly fetched and verified.38892d88397e3bd577e30f3097dfa1afc40b1d5b.Contributor mode (select one):
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 product01d0264ffrom 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 SDK69c07896708deaaed228cc6e14f12c41e5289981and 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:distpassed on the local development changes. These sets overlap and are not summed as distinct tests.Native observations retained:
portfolio-atlassubscriptions with classes preserved.agentSelection.agentSlugsandclassSlugswithout creating work.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:
f1b7c416and custody regressione0221b4dfailed before32363254; 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.4ac351ee/a196eec3derive 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.2ea46fc2restores 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-c9294c600828admitted no contributors: shared proposal read-back incorrectly used the contributor project binding. Regression3ace4d67reproduced it;1d185989reads 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-8a2781d6a5cathen exposed the real Admin planning profile's proposal-write permission colliding with its own-library workspace. No contributor assignment was admitted. Regression142caf33captures the real profile;cd48c9d1keeps 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
Latest real portfolio observation (2026-10-20 17:00Z): workday
workday-806022fb-cebb-487a-96c2-423bcd00fc16selected 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. Regressiond0a30b0areproduces this;9c922b2breuses 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 identifiesreporting-selection-native.test.ts:77,workday_intent_invalid. Commitb35e0f4buses sharedportfolio-atlasgroup 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.