P4: capture_work — braindump → decomposed issues → filed in gitea #44
Reference in New Issue
Block a user
No description provided.
Delete Branch "p4/capture-work"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stacked on #43 (shares the model bridge's tool-execute). Retarget to
mainonce #43 merges.The last big agent capability. In Capture, a rough braindump runs real big-model decomposition into a small, estimated issue set; you review/edit the labels and approve, and the issues are opened in gitea. This is the one place the big model earns its keep.
Core (
@commitea/core)PROPOSE_ISSUES_TOOL+CAPTURE_SYSTEM;captureWork(complete, dump)forces one structured decomposition and returns validated issues;parseCaptureArgsdrops blank titles + invalid est/p labels.ProposedIssue/CaptureProposal.createIssue({title, body?, labelIds?})→POST /issues, normalized.App
model:capturerunscaptureWorkon the (loaded) big model.gitea:createIssuesopens each approved issue with itsest/*+p/*labels (reusing #41's label-id resolver — zero-pollution, no invented labels).Verified
108 core tests green (7 capture +
createIssue), desktop typecheck clean, 14 fixture e2e green.Gated live e2e against
gemma-4-26b: the auth braindump → 3 real tickets — "Resolve token refresh + session staleness" est/3d p/1, "Fix webhook double-firing" est/2d p/2, "Write auth setup docs" est/1d p/3 — reviewable + editable; Discard so the test files nothing (thecreateIssuePOST is unit-tested). Screenshot in PR.The three write tools now
apply_changes (#41) · propose_change via chat (#43) · capture_work (this). Remaining agent tool:
record_directive→ the pm-state ledger.🤖 Generated with Claude Code
The last big agent capability. In the Capture screen, a rough braindump runs real big-model decomposition into a small, estimated issue set; you review/edit the labels and approve, and the issues are opened in gitea. This is the one place the big model earns its keep (docs/agent-tools.md). core (@commitea/core): - capture-work: PROPOSE_ISSUES_TOOL + CAPTURE_SYSTEM; captureWork(complete, dump) forces a single structured decomposition and returns validated issues; parseCaptureArgs drops blank titles + invalid est/p labels. ProposedIssue / CaptureProposal. - gitea client: createIssue({title, body?, labelIds?}) → POST /issues, normalized. app: - model bridge model:capture runs captureWork on the (loaded) big model. - gitea bridge gitea:createIssues opens each approved issue with its est/* + p/* labels (reusing the #41 label-id resolver — zero-pollution, no invented labels). - Capture screen: when a model is configured, "Brew tickets" runs real capture and "Approve all" files the set; otherwise the scripted demo interview runs. Fixed a race — the brew handler re-checks model status at click time so a configured model never falls into the scripted path before status resolves. Verified: 108 core tests green (7 capture + createIssue added), desktop typecheck clean, 14 fixture e2e green. Gated live e2e against gemma-4-26b: the auth braindump → 3 real tickets ("Resolve token refresh + session staleness" est/3d p/1, "Fix webhook double-firing" est/2d p/2, "Write auth setup docs" est/1d p/3), reviewable and editable; Discard so the test files nothing (createIssue POST is unit-tested). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>