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