ticket: route workflow template non-goals cleanup
This commit is contained in:
parent
17248b5eca
commit
b45d8f1f6e
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
id: '20260608-014602-remove-non-goals-from-workflow-templates'
|
||||||
|
slug: 'remove-non-goals-from-workflow-templates'
|
||||||
|
title: 'Remove Non-goals from workflow templates'
|
||||||
|
status: 'open'
|
||||||
|
kind: 'task'
|
||||||
|
priority: 'P2'
|
||||||
|
labels: ['workflow', 'prompt', 'ticket', 'orchestration', 'cleanup']
|
||||||
|
workflow_state: 'inprogress'
|
||||||
|
created_at: '2026-06-08T01:46:02Z'
|
||||||
|
updated_at: '2026-06-08T01:50:34Z'
|
||||||
|
assignee: null
|
||||||
|
legacy_ticket: null
|
||||||
|
queued_by: 'workspace-panel'
|
||||||
|
queued_at: '2026-06-08T01:48:07Z'
|
||||||
|
---
|
||||||
|
|
||||||
|
## Background
|
||||||
|
|
||||||
|
Current workflow templates repeatedly ask for `Non-goals` or `Non-goals / constraints`:
|
||||||
|
|
||||||
|
- `ticket-intake-workflow.md` asks `やらないことは何か。`
|
||||||
|
- Ticket draft templates include `Non-goals:`.
|
||||||
|
- IntentPacket templates include `Non-goals / constraints: 今回やらないこと、触ってはいけない場所。`
|
||||||
|
- Orchestrator evidence checks combine `Non-goals / invariants`.
|
||||||
|
|
||||||
|
This wording encourages agents to fill a broad exclusion list with unrelated, obvious, or generic non-actions. It also mixes distinct concepts:
|
||||||
|
|
||||||
|
- binding decisions / invariants;
|
||||||
|
- implementation latitude;
|
||||||
|
- scope/authority boundaries;
|
||||||
|
- escalation conditions;
|
||||||
|
- adjacent work that belongs to another Ticket.
|
||||||
|
|
||||||
|
The result is noisy Tickets and intent packets where obvious unrelated exclusions obscure the actual implementation boundary.
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
|
||||||
|
Remove `Non-goals` as a workflow section and simplify intent boundaries around two concepts:
|
||||||
|
|
||||||
|
1. `Binding decisions / invariants`
|
||||||
|
2. `Implementation latitude`
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Remove `Non-goals` / `Non-goals / constraints` sections from workflow templates and intent packet examples.
|
||||||
|
- Remove broad prompts such as `やらないことは何か。` from Intake requirements gathering.
|
||||||
|
- Do not replace `Non-goals` with another broad optional exclusion bucket unless explicitly needed.
|
||||||
|
- Use `Binding decisions / invariants` for:
|
||||||
|
- explicit human/Orchestrator/Ticket decisions;
|
||||||
|
- authority/design boundaries;
|
||||||
|
- constraints the coder/reviewer must respect;
|
||||||
|
- places/concepts that must not be changed when they are truly relevant.
|
||||||
|
- Use `Implementation latitude` for:
|
||||||
|
- local tactics the coder may decide through investigation;
|
||||||
|
- file/helper/test organization flexibility;
|
||||||
|
- bounded uncertainty that reviewer can judge against intent and invariants.
|
||||||
|
- If adjacent excluded work must be mentioned, express it as a concrete binding decision or escalation condition rather than a generic `Non-goals` list.
|
||||||
|
- Update affected workflows:
|
||||||
|
- `.yoi/workflow/ticket-intake-workflow.md`
|
||||||
|
- `.yoi/workflow/ticket-orchestrator-routing.md`
|
||||||
|
- `.yoi/workflow/ticket-preflight-workflow.md`
|
||||||
|
- `.yoi/workflow/multi-agent-workflow.md`
|
||||||
|
- Update any prompt tests or role prompt guidance that expects `Non-goals` in intent packets.
|
||||||
|
- Keep reviewer guidance focused on recorded intent, binding decisions/invariants, implementation latitude, acceptance criteria, and explicit escalation conditions.
|
||||||
|
|
||||||
|
## Non-requirements
|
||||||
|
|
||||||
|
- Do not redesign the Ticket state machine in this ticket.
|
||||||
|
- Do not remove escalation conditions or validation sections.
|
||||||
|
- Do not remove the ability to state a concrete exclusion when it is genuinely a binding decision.
|
||||||
|
|
||||||
|
## Acceptance criteria
|
||||||
|
|
||||||
|
- Workflow templates no longer include a `Non-goals` / `Non-goals / constraints` section.
|
||||||
|
- IntentPacket examples use `Binding decisions / invariants` and `Implementation latitude` to express boundaries.
|
||||||
|
- Intake guidance no longer asks agents to enumerate generic `やらないこと`.
|
||||||
|
- Generated Tickets/intent packets are less likely to include unrelated obvious exclusions.
|
||||||
|
- Tests/docs/prompts that reference the old section are updated.
|
||||||
|
- `target/debug/yoi ticket doctor`, focused prompt/workflow tests if any, `cargo fmt --check`, and `git diff --check` pass.
|
||||||
|
|
@ -0,0 +1,122 @@
|
||||||
|
<!-- event: create author: LocalTicketBackend at: 2026-06-08T01:46:02Z -->
|
||||||
|
|
||||||
|
## Created
|
||||||
|
|
||||||
|
Created by LocalTicketBackend create.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: intake at: 2026-06-08T01:46:53Z -->
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
Intake classification: this existing Ticket is sufficiently specified for Orchestrator routing.
|
||||||
|
|
||||||
|
- readiness: implementation_ready
|
||||||
|
- needs_preflight: false
|
||||||
|
- risk_flags: [workflow-prompts]
|
||||||
|
|
||||||
|
Rationale: the requested change is constrained to workflow/prompt wording and intent packet examples; it preserves escalation conditions, validation, concrete exclusions as binding decisions, and the Ticket state machine. No authority boundary, persistence, public API, security, or storage migration decision is left for a coder to make silently.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: intake_summary author: intake at: 2026-06-08T01:46:58Z -->
|
||||||
|
|
||||||
|
## Intake summary
|
||||||
|
|
||||||
|
Existing Ticket refined and classified as implementation_ready. Scope is removal of generic Non-goals/Non-goals constraints sections and broad non-goal prompts from workflow templates and intent packet examples, replacing boundary expression with Binding decisions / invariants plus Implementation latitude. Preserve escalation conditions, validation, concrete exclusions as binding decisions, and the Ticket state machine. needs_preflight=false; risk_flags=[workflow-prompts].
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: intake at: 2026-06-08T01:46:58Z from: intake to: ready reason: intake_ready field: workflow_state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Intake complete: requirements, acceptance criteria, implementation boundaries, validation, and routing signals are sufficient for Orchestrator review/queueing.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: workspace-panel at: 2026-06-08T01:48:07Z from: ready to: queued reason: queued field: workflow_state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Ticket queued for Orchestrator routing.
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: orchestrator at: 2026-06-08T01:50:29Z -->
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
Routing decision: implementation_ready
|
||||||
|
|
||||||
|
Reason:
|
||||||
|
- Intake classified this Ticket as `implementation_ready`, `needs_preflight=false`; the requested change is scoped to workflow/prompt wording and intent packet examples.
|
||||||
|
- Requirements and acceptance criteria are observable: remove generic `Non-goals` / `Non-goals / constraints` workflow sections and broad `やらないことは何か。` prompts, while preserving concrete boundaries as `Binding decisions / invariants`, `Implementation latitude`, escalation conditions, and validation.
|
||||||
|
- The code/workflow search shows the active maintained workflow-template hits are concentrated in `.yoi/workflow/{ticket-intake-workflow.md,ticket-orchestrator-routing.md,ticket-preflight-workflow.md,multi-agent-workflow.md}`. Historic Ticket artifacts contain old wording and should not be rewritten.
|
||||||
|
- Remaining uncertainty is bounded text/test cleanup, not a design-boundary decision.
|
||||||
|
|
||||||
|
Evidence checked:
|
||||||
|
- Ticket body and thread, including intake decision and queued event.
|
||||||
|
- Workspace state: current main workspace has only this new Ticket record uncommitted; runtime workspace identity bundle is in a separate worktree/re-review and should remain isolated.
|
||||||
|
- Code/workflow search for `Non-goals`, `Non-goals / constraints`, `Non-goals / invariants`, and `やらないことは何か。`.
|
||||||
|
- Ticket doctor: 0 errors.
|
||||||
|
|
||||||
|
IntentPacket:
|
||||||
|
|
||||||
|
Intent:
|
||||||
|
- Remove generic `Non-goals` workflow-template language and make workflow examples express boundaries through concrete invariants and implementation latitude instead.
|
||||||
|
|
||||||
|
Binding decisions / invariants:
|
||||||
|
- Do not rewrite historic closed/open Ticket threads or artifacts just because they contain old `Non-goals` text.
|
||||||
|
- Preserve the ability to state a concrete exclusion when it is genuinely a binding decision, invariant, authority boundary, or escalation condition.
|
||||||
|
- Preserve escalation conditions, validation sections, reviewer guidance, and the Ticket workflow/state model.
|
||||||
|
- Maintained workflow templates should avoid broad optional exclusion buckets that invite generic unrelated lists.
|
||||||
|
|
||||||
|
Requirements / acceptance criteria:
|
||||||
|
- Remove `Non-goals` / `Non-goals / constraints` sections from maintained workflow templates and IntentPacket examples.
|
||||||
|
- Remove Intake prompts such as `やらないことは何か。` that ask agents to enumerate generic non-goals.
|
||||||
|
- Replace relevant boundary examples with `Binding decisions / invariants` and `Implementation latitude` language.
|
||||||
|
- Keep reviewer guidance focused on recorded intent, binding decisions/invariants, implementation latitude, acceptance criteria, and explicit escalation conditions.
|
||||||
|
- Update prompt/workflow tests or role prompt guidance if any maintained test expects old section names.
|
||||||
|
|
||||||
|
Implementation latitude:
|
||||||
|
- Coder may choose exact wording, section order, and whether a specific concrete exclusion is better expressed as an invariant or escalation condition.
|
||||||
|
- Coder may update adjacent maintained workflow-template wording where needed for consistency, but should avoid broad documentation churn.
|
||||||
|
|
||||||
|
Escalate if:
|
||||||
|
- A workflow genuinely requires a separate broad exclusion bucket after rewriting.
|
||||||
|
- Removing old wording would obscure a real authority boundary rather than clarify it.
|
||||||
|
- Required updates extend beyond maintained workflow/prompt templates into historic Ticket artifacts or unrelated docs.
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- Search maintained workflows/prompts for old generic section names and broad `やらないこと` prompt.
|
||||||
|
- Run focused prompt/workflow tests if present.
|
||||||
|
- `target/debug/yoi ticket doctor` or `cargo run -q -p yoi -- ticket doctor`.
|
||||||
|
- `cargo fmt --check` only if Rust/test code changes.
|
||||||
|
- `git diff --check`.
|
||||||
|
- `nix build .#yoi` is required if runtime resources/prompts packaged into the product are changed; if only `.yoi/workflow` project records change, explain why Nix build was omitted.
|
||||||
|
|
||||||
|
Current code map:
|
||||||
|
- `.yoi/workflow/ticket-intake-workflow.md`
|
||||||
|
- `.yoi/workflow/ticket-orchestrator-routing.md`
|
||||||
|
- `.yoi/workflow/ticket-preflight-workflow.md`
|
||||||
|
- `.yoi/workflow/multi-agent-workflow.md`
|
||||||
|
- Search broader maintained prompt/test paths for old labels before reporting.
|
||||||
|
|
||||||
|
Critical risks / reviewer focus:
|
||||||
|
- Do not simply rename `Non-goals` to another generic exclusion bucket.
|
||||||
|
- Do not remove concrete authority boundaries or escalation conditions.
|
||||||
|
- Do not edit historical Ticket records as part of cleanup.
|
||||||
|
- Ensure workflow examples still give coder/reviewer enough boundary information.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: orchestrator at: 2026-06-08T01:50:34Z from: queued to: inprogress reason: orchestrator_acceptance field: workflow_state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Accepted queued implementation after reading the Ticket, workspace state, and maintained workflow-template hits. This acceptance precedes worktree creation and coder/reviewer Pod spawning.
|
||||||
|
|
||||||
|
---
|
||||||
Loading…
Reference in New Issue
Block a user