feat: POST /api/assign is the Asgard factory door - #8
Merged
Conversation
There was a problem hiding this comment.
Blocking: none. Three small correctness / robustness notes called out inline.
- Token check is present and uses hash_equals.
- Board upsert + queue dispatch both happen before the 202 response.
- Test coverage for the happy paths and auth failure is solid.
No contradictions with existing patterns in the repo. Ship after addressing the three inline items if you want tighter validation and resilience.
There was a problem hiding this comment.
Ship it.
- Token auth copied verbatim from AskController; same hash_equals guard.
- Empty-input check and boardId derivation handle the three input shapes (issue, kind, brief) without overlap.
- DispatchKitWork only posts to hallway; no LLM path introduced.
- Tests cover auth, validation, board write, queue, and job execution.
No LLM. Writes a queued board row and enqueues DispatchKitWork. Asgard kit_assign and Lexi AskKit hit this, not /api/ask.
jordanpartridge
force-pushed
the
feat/asgard-assign
branch
from
August 19, 2026 13:13
1324424 to
f889b36
Compare
There was a problem hiding this comment.
Ship it.
- Controller now correctly gates on (issue|brief|kind), emits 202, and hands off to DispatchKitWork instead of synchronous Mattermost post.
- New job isolates the hallway receipt; tests cover the happy path, empty input, kind-only, and DM skip.
- README, boardId logic, and nullable issueNumber all updated consistently.
- No correctness, safety, or test gaps that block merge. CI and queue worker noted in the plan will catch runtime wiring.
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.
Summary
Kit's direct Asgard connection is assign, not chat.
POST /api/assignBearerKIT_PEER_TOKEN{ issue?, chair?, brief?, kind? }board.json(issue-Normake_image/ …) lifecycle=queuedDispatchKitWork(hallway_asgard assign_, no Kit LLM)/api/askstays the human mouthThis is the door Asgard #133
kit_assigncalls.Test plan
php artisan test --compact tests/Feature/AssignTest.phpqueue:work --queue=kitrunning so hallway posts land