feat(mcp): S5 — issue-kind guidance across all instruction surfaces
CI & Build / Python lint (push) Successful in 3s
CI & Build / integration (push) Successful in 15s
CI & Build / TypeScript typecheck (push) Successful in 34s
CI & Build / Python tests (push) Successful in 46s
CI & Build / Build & push image (push) Successful in 1m3s
CI & Build / Python lint (push) Successful in 3s
CI & Build / integration (push) Successful in 15s
CI & Build / TypeScript typecheck (push) Successful in 34s
CI & Build / Python tests (push) Successful in 46s
CI & Build / Build & push image (push) Successful in 1m3s
Plan #825 (T2 — Issues task_kind) shipped S1–S4 but its S5 docs slice never landed, so every behavioral surface the plugin pushes to the agent still described the pre-kind convention ("tag `issue`" on a create_note). Result: agents fixed bugs without reaching for kind=issue and dumped the work as logs on unrelated open tasks. - _INSTRUCTIONS: rewrite the "record a problem" bullet to create_task(kind="issue") with symptom→cause→fix + arose_from_id / system_ids, and an explicit "not a work-log on an unrelated task"; add Issue + System to the hierarchy section. - skills/systematic-debugging, verification: drop "tag `issue`" / create_note-issue, point at create_task(kind="issue"). - skills/using-scribe: add issues/systems to the entity list + reflex #6. - hooks/scribe_static_context: fix → its own issue on the keyless floor. Instance-agnostic, prose-only; no schema or tool-behavior change. Pairs with always-on rule #118. Issue: #855. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,12 @@ What each part is for, and when to reach for it:
|
||||
todo/in_progress/done/cancelled, optional priority). A task is a note with a
|
||||
status — reach for one when there is something to DO. Record progress over
|
||||
time with work-logs (add_task_log) rather than rewriting the body.
|
||||
- Issue: a task whose kind is corrective — a problem you fixed or are fixing, as
|
||||
opposed to productive `work`. Create it with create_task(kind="issue"); the
|
||||
body carries symptom → root cause → fix. It has the full task lifecycle, and
|
||||
can link the originating task it arose from (arose_from_id) and the System(s)
|
||||
it touches (system_ids). Reach for one whenever you fix something — even in
|
||||
passing — instead of burying the fix in another task's work-log.
|
||||
- Plan: a MILESTONE acting as a plan container — HOW you'll execute a chunk of
|
||||
work. The design/intent lives in the milestone `body`; each step is its own
|
||||
child task (create_task(milestone_id=...)), tracked with status + work-logs —
|
||||
@@ -35,6 +41,10 @@ What each part is for, and when to reach for it:
|
||||
- Note: durable free-form knowledge — reference material, decisions, logs of
|
||||
what happened.
|
||||
No lifecycle, not actionable. Reach for one to CAPTURE something worth keeping.
|
||||
- System: a per-project, reusable, self-describing subsystem/area. Associate any
|
||||
record (note, task, issue) with it via system_ids so research, build-work, and
|
||||
fixes for the same area line up, and recurring problem-spots surface. Manage
|
||||
with create_system / list_systems / get_system.
|
||||
- Typed entities (person/place/list): structured records about people, places,
|
||||
and checklists.
|
||||
|
||||
@@ -90,9 +100,13 @@ Keep task state honest — this is what makes the project a trustworthy record:
|
||||
that changes direction — write a short dated note on the project (create_note)
|
||||
capturing what happened (the pivots, not just the wins), and set the finished
|
||||
task to done.
|
||||
- When you record a problem you solved, capture symptom → root cause → fix
|
||||
(tag it `issue`) so it's findable later — even one solved in passing is worth
|
||||
two lines, so it isn't diagnosed from scratch next time.
|
||||
- When you fix a problem — even one solved in passing — record it as its own
|
||||
issue (create_task(kind="issue")) with symptom → root cause → fix in the body,
|
||||
NOT as a work-log line on whatever task happened to be open. An issue is
|
||||
corrective work with its own lifecycle; recording it discretely (optionally
|
||||
linked via arose_from_id to the task it came from, and system_ids to the
|
||||
subsystem it touches) is what makes it findable so it isn't diagnosed from
|
||||
scratch next time.
|
||||
|
||||
Compaction hygiene — recommend compacting at clean seams. Because you record
|
||||
progress as you go, a context compaction is SAFE: the durable state lives in
|
||||
|
||||
Reference in New Issue
Block a user