feat: [ENG-2153] Curate command blocks execution and prevents concurrent actions#479
feat: [ENG-2153] Curate command blocks execution and prevents concurrent actions#479bao-byterover merged 2 commits intomainfrom
Conversation
Conflicts: src/server/templates/skill/SKILL.md
|
Claude finished @bao-byterover's task in 2m 5s —— View job PR Review: feat: [ENG-2153] Curate command blocks execution and prevents concurrent actions
SummaryScore: 4/5 This is a well-scoped, high-quality documentation-only PR that addresses a real behavioral regression in the agent loop. The dual-gate mechanism for The main concerns are minor wording inconsistencies between the three files carrying the same dual-gate rules, a missing JSON output example for the verification step, and the evidence transcript not yet attached per the PR's own checklist. Issuessuggestion (brv-instructions.md, line 101): The verification step here lacks - Before querying data from a prior `--detach`, run `brv curate view <logId>` and wait for `status: completed`
+ Before querying data from a prior `--detach`, run `brv curate view <logId> --format json` and wait for `status: completed`suggestion (SKILL.md, line 104–110): The cross-turn hygiene block instructs agents to parse Only proceed when `status: completed`. If `processing`, wait or tell the user. If `error`/`cancelled`, report and consider re-curate.
+
+Sample output: `{"logId": "cur-xxx", "status": "completed", "summary": "..."}`nit (across files — gate 1 wording): Gate 1 in Files affected:
praise: The explicit enumeration of "NOT reasons to praise: Verifying the implementation — nitpick (PR checklist): The Evidence section is marked out-of-scope observation: |
|
@DatPham-6996 please help me review this PR, thanks so much. |
Summary
brv curate --detachand then immediately reading the data back, violating the "you cannot query data that does not yet exist" invariant. This led to stale or missing context in downstreamquery/search/ follow-upcuratecalls.--detacherrors are also silent, so failures went undetected.--detachbehind two conjunctive conditions — (a) nothing later in the turn reads/builds on the data, AND (b) the user explicitly said not to wait. Explicitly rejects common self-justifications (size, "looks like last step", "can't think of a dependency"). Requires reporting "queued" (not "saved") after detach and verifying viabrv curate view <logId>before any downstream read. Updated files: brv-instructions.md, command-reference.md, workflow.md, SKILL.md.brv curatecommand, its--detachflag, the curate executor, and any stores are untouched. Only agent-facing guidance changes. No TypeScript, no tests, no transport schemas.Type of change
Scope (select all touched areas)
(Server / Daemon is checked because the templates live under
src/server/templates/and are injected by the daemon; no daemon code path changes.)Linked issues
Root cause (bug fixes only, otherwise write
N/A)Test plan
brvREPL on a fresh project, ask agent to save learnings → agent usesbrv curate "..."(no--detach) and waits.--detach, reports "queued" withlogId.brv curate view <logId>first and waits forstatus: completed.User-visible changes
logIdwhenever detach is used.If none, write
None.Evidence
Attach at least one:
brv curate view <logId>verification step before follow-up query — attach before merge)Checklist
npm test) (N/A — no code changes; existing suite unaffected, confirm green)npm run lint)npm run typecheck)npm run build)main(merge commit 6e09622)Risks and mitigations
--detachwith explicit user signal; users can always invokebrv curate --detachdirectly on the CLI where they control the execution mode.brv curate view <logId>verification before trusting detached data; if drift is observed in transcripts, tighten SKILL.md with more explicit examples.src/server/templates/alongside other agent guidance; revisit in lockstep with any curate CLI behavior change.