@amsterdamdatalabs/adl-agent-control-linux-x64 0.1.34 → 0.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/bin/adl +2 -2
  2. package/bin/reconcile +4 -3
  3. package/package.json +1 -1
  4. package/packages/agent-hooks/README.md +14 -0
  5. package/packages/agent-hooks/assets/opencode-plugin.template.ts +140 -104
  6. package/packages/agent-hooks/deploy-profile.json +1 -1
  7. package/packages/agent-hooks/src/deploy/opencode-template.ts +5 -18
  8. package/packages/agent-hooks/src/deploy/render.ts +12 -3
  9. package/packages/agent-hooks/src/pre-tool-use/handler.ts +2 -2
  10. package/packages/agent-hooks/src/rules/impl/adl-build-run-role.ts +116 -0
  11. package/packages/agent-hooks/src/rules/impl/adl-git-user-override-block.ts +159 -0
  12. package/packages/agent-hooks/src/rules/impl/adl-mcp-cli.ts +12 -6
  13. package/packages/agent-hooks/src/rules/impl/adl-pr-complete-pending.ts +9 -9
  14. package/packages/agent-hooks/src/rules/impl/adl-pr-role.ts +6 -5
  15. package/packages/agent-hooks/src/rules/impl/agent-tamper-protection.ts +15 -14
  16. package/packages/agent-hooks/src/rules/impl/git-core.ts +4 -8
  17. package/packages/agent-hooks/src/rules/impl/mcp-tool.ts +1 -1
  18. package/packages/agent-hooks/src/rules/impl/tool-native-search.ts +8 -7
  19. package/packages/agent-hooks/src/rules/registry.ts +11 -2
  20. package/packages/agent-hooks/src/rules/shell/protected-carriers.ts +9 -5
  21. package/packages/agent-settings/README.md +10 -4
  22. package/packages/agent-settings/assets/TARUN-GLOBAL-AGENTS-INSTRUCTIONS.md +40 -0
  23. package/packages/agent-settings/src/global-agents.ts +43 -8
  24. package/packages/agent-skills/assets/adl-mechanics/SKILL.md +38 -0
  25. package/packages/agent-skills/assets/agent-search-tool-audit/scripts/audit.sh +1 -1
  26. package/packages/agent-skills/assets/code-review/SKILL.md +84 -66
  27. package/packages/agent-skills/assets/diagnosing-bugs/SKILL.md +23 -2
  28. package/packages/agent-skills/assets/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +1 -1
  29. package/packages/agent-skills/assets/explore-codebase/SKILL.md +3 -2
  30. package/packages/agent-skills/assets/finalize-feature/SKILL.md +63 -0
  31. package/packages/agent-skills/assets/fix-ci/SKILL.md +58 -0
  32. package/packages/agent-skills/assets/handoff/SKILL.md +1 -1
  33. package/packages/agent-skills/assets/implement-feature/SKILL.md +153 -0
  34. package/packages/agent-skills/assets/implement-feature/references/briefs.md +94 -0
  35. package/packages/agent-skills/assets/implement-item/SKILL.md +71 -0
  36. package/packages/agent-skills/assets/mechanics/SKILL.md +38 -0
  37. package/packages/agent-skills/assets/plan-feature/SKILL.md +141 -0
  38. package/packages/agent-skills/assets/prepare-promotion/SKILL.md +91 -0
  39. package/packages/agent-skills/assets/ralplan/SKILL.md +149 -0
  40. package/packages/agent-skills/assets/refactor-safely/SKILL.md +4 -3
  41. package/packages/agent-skills/assets/report-bug/SKILL.md +72 -0
  42. package/packages/agent-skills/assets/review-change/SKILL.md +82 -0
  43. package/packages/agent-skills/assets/review-plan/SKILL.md +124 -0
  44. package/packages/agent-skills/assets/to-feature/SKILL.md +1 -1
  45. package/packages/agent-skills/assets/to-workitems/SKILL.md +1 -1
  46. package/packages/agent-skills/assets/to-workitems/references/AZURE-DEVOPS-HIERARCHY.md +3 -0
  47. package/packages/agent-skills/assets/triage-workitems/SKILL.md +99 -0
  48. package/packages/agent-skills/assets/ultragoal/SKILL.md +77 -0
  49. package/packages/agent-skills/assets/validate-design/SKILL.md +70 -0
  50. package/packages/agent-skills/assets/verify-item/SKILL.md +71 -0
  51. package/packages/agent-skills/assets/workitems-process/SKILL.md +147 -0
  52. package/packages/agent-skills/assets/workitems-process/references/ado-and-git.md +194 -0
  53. package/packages/agent-skills/assets/workitems-process/references/evidence.md +74 -0
  54. package/packages/agent-skills/assets/workitems-process/references/workitem-states.md +92 -0
  55. package/packages/agent-skills/assets/write-feature/SKILL.md +95 -0
  56. package/packages/agent-skills/dist/deploy.d.ts +7 -0
  57. package/packages/agent-skills/dist/deploy.d.ts.map +1 -1
  58. package/packages/agent-skills/dist/deploy.js +52 -5
  59. package/packages/agent-skills/dist/deploy.js.map +1 -1
  60. package/packages/agent-skills/src/deploy.ts +48 -4
  61. package/packages/azdo/scripts/probe-ado-rules.ts +1 -1
  62. package/packages/azdo/src/activity-log.ts +118 -0
  63. package/packages/azdo/src/azdo-attachments.ts +108 -0
  64. package/packages/azdo/src/azdo-pl.ts +100 -3
  65. package/packages/azdo/src/azdo-pr.ts +194 -11
  66. package/packages/azdo/src/azdo-wit.ts +329 -18
  67. package/packages/azdo/src/cli.ts +42 -2
  68. package/packages/azdo/src/lib/agent-identity.ts +1 -1
  69. package/packages/azdo/src/lib/client.ts +7 -1
  70. package/packages/azdo/src/lib/validate-pr-metadata.ts +14 -5
  71. package/packages/azdo/src/mcp-server.ts +53 -5
  72. package/packages/azdo/src/tool-dispatch.ts +53 -4
  73. package/packages/azdo/src/workflow-ladder.csv +125 -107
  74. package/packages/azdo/src/workflow-rules.ts +254 -97
  75. package/packages/repo-controls/README.md +24 -11
  76. package/packages/repo-controls/assets/scaffold/docs/AGENTS.md +5 -5
  77. package/packages/repo-controls/assets/scaffold/plans/AGENTS.md +42 -13
  78. package/packages/repo-controls/assets/scaffold/root/AGENTS.md +60 -11
  79. package/packages/repo-controls/assets/scaffold/root/CONTRIBUTING.md +28 -0
  80. package/packages/repo-controls/assets/scaffold/root/INVARIANTS.md +17 -0
  81. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/closed_set/test_check.py +0 -11
  82. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/filename/test_check.py +4 -6
  83. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/ledger/test_check.py +15 -0
  84. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/docs-okf-profiles.yaml +1 -17
  85. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/test_check.py +3 -22
  86. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/open_work_cap/check.py +39 -182
  87. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/open_work_cap/fixtures/open-work-cap-clean/plans/features/az601-clean/intent.md +17 -0
  88. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/open_work_cap/test_check.py +90 -321
  89. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plan_metadata.py +31 -5
  90. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/check.py +282 -54
  91. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/fixtures/plans-layout-clean/plans/features/az347-test-coverage/design.md +35 -0
  92. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/fixtures/plans-layout-clean/plans/features/az347-test-coverage/file-map-reference.md +19 -0
  93. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/fixtures/plans-layout-clean/plans/features/az347-test-coverage/intent.md +25 -0
  94. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/fixtures/plans-layout-clean/plans/features/az347-test-coverage/items/az351-restore-entrypoint.md +25 -0
  95. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/fixtures/plans-layout-clean/plans/features/az347-test-coverage/requirements.md +44 -0
  96. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/fixtures/plans-layout-violation/plans/features/az347-test-coverage/requirements.md +44 -0
  97. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/test_check.py +646 -53
  98. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/cli.py +3 -3
  99. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/policy/docs_shape.py +1 -12
  100. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/policy/gate-registry.alt.yaml +1 -1
  101. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/policy/gate-registry.yaml +1 -1
  102. package/packages/repo-controls/src/cli.ts +23 -5
  103. package/packages/repo-controls/src/constants.ts +2 -15
  104. package/packages/repo-controls/src/install.ts +15 -6
@@ -29,7 +29,7 @@ import {
29
29
  import pkg from '../package.json' with { type: 'json' };
30
30
 
31
31
  /**
32
- * Builds a fresh, unconnected `Server` with the 7 public tools registered.
32
+ * Builds a fresh, unconnected `Server` with the 12 public tools registered.
33
33
  * Called by `runMcpServer()` below; also usable directly by tests that want
34
34
  * to drive the server without stdio (e.g. via an in-memory transport).
35
35
  */
@@ -62,17 +62,18 @@ export function createServer(): Server {
62
62
  },
63
63
  {
64
64
  name: 'pr_create_or_update',
65
- description: 'Create a pull request from the current branch into integration, or update a pull request.',
65
+ description: 'Create a pull request from the current branch into integration, or update a pull request. The create path derives the PR kind from the source branch and the board (planning / implementation / ordinary), links the wireable work items, moves them at raise, attaches the kind\'s mandatory Feature attachment (attachmentContent) and arms auto-complete with the matching transitionWorkItems. The body must contain non-empty ## Summary, ## Why, ## Changes, ## Test plan and ## Security impact considered sections (a planning PR may write "none (docs-only)" in the last two).',
66
66
  inputSchema: {
67
67
  type: 'object',
68
68
  properties: {
69
69
  title: { type: 'string', description: 'Conventional lowercase title: <type>(<scope>): <subject>' },
70
- description: { type: 'string', description: 'Must contain non-empty ## Summary, ## Why, and ## Changes sections' },
70
+ description: { type: 'string', description: 'Must contain non-empty ## Summary, ## Why, ## Changes, ## Test plan and ## Security impact considered sections' },
71
71
  action: { type: 'string', enum: ['create', 'update'] },
72
72
  pullRequestId: { type: 'number' },
73
73
  autoComplete: { type: 'boolean' },
74
74
  mergeStrategy: { type: 'string', enum: ['Squash'] },
75
75
  deleteSourceBranch: { type: 'boolean' },
76
+ attachmentContent: { type: 'string', description: 'Create only: the content of the kind\'s mandatory Feature attachment (plan-r<N>-<sha7>.md or impl-report-pr<id>.md); refused without it on planning/implementation PRs' },
76
77
  repository: { type: 'string', description: 'Repository name; defaults to AZURE_DEVOPS_REPO' },
77
78
  },
78
79
  required: ['action'],
@@ -124,7 +125,7 @@ export function createServer(): Server {
124
125
  },
125
126
  {
126
127
  name: 'workitem_list_or_get',
127
- description: 'Get one or many tracked work items, or query the scoped backlog. Each item carries effort and failureReason (both null when unset).',
128
+ description: 'Get one or many tracked work items, or query the scoped backlog. Each item carries effort, failureReason and the Feature plan fields planRevision, planHash and baselineSha (all null when unset).',
128
129
  inputSchema: {
129
130
  type: 'object',
130
131
  properties: {
@@ -134,16 +135,63 @@ export function createServer(): Server {
134
135
  },
135
136
  {
136
137
  name: 'workitem_create_or_update',
137
- description: 'Create a tracked work item under its required parent, or update an existing item.',
138
+ description: 'Create a tracked work item under its required parent, or update an existing item. The plan fields (planRevision, planHash, baselineSha) are Feature-only and map to the Custom.PlanRevision / Custom.PlanHash / Custom.BaselineSha process fields.',
138
139
  inputSchema: {
139
140
  type: 'object',
140
141
  properties: {
141
142
  id: { type: 'number' }, type: { type: 'string', enum: ['Feature', 'Product Backlog Item', 'Bug'] },
142
143
  title: { type: 'string' },
143
144
  description: { type: 'string' }, parentId: { type: 'number' }, predecessors: { type: 'array', items: { type: 'number' } }, related: { type: 'array', items: { type: 'number' } }, fields: { type: 'object' }, state: { type: 'string' }, comment: { type: 'string' }, assignedTo: { type: 'string' }, acceptanceCriteria: { type: 'string' }, priority: { type: 'number' }, startDate: { type: 'string' }, targetDate: { type: 'string' },
145
+ planRevision: { type: 'number', description: 'Feature only: which plan revision G1 approves (Custom.PlanRevision)' },
146
+ planHash: { type: 'string', description: 'Feature only: sha256 of requirements.md (Custom.PlanHash)' },
147
+ baselineSha: { type: 'string', description: 'Feature only: the integration commit the plan was written against (Custom.BaselineSha)' },
144
148
  },
145
149
  },
146
150
  },
151
+ {
152
+ name: 'workitem_comments_read',
153
+ description: "Read a work item's comments (Work Item Tracking Comments – List). This is the read path for the board's evidence: --raw on workitem_list_or_get shows only the latest System.History value.",
154
+ inputSchema: {
155
+ type: 'object',
156
+ properties: {
157
+ id: { type: 'number', description: 'The work item id whose comments are read' },
158
+ },
159
+ required: ['id'],
160
+ },
161
+ },
162
+ {
163
+ name: 'workitem_attachments',
164
+ description: 'Read, upload or delete a work item\'s attachments (Feature attachments only, per board-rules.md § Attachments). Upload POSTs an octet-stream to the attachments endpoint and PATCHes an AttachedFile relation with a test/rev guard. Delete removes only the AttachedFile relation (the stored file stays; Attachments-Delete is 7.2-preview only) and refuses a plan-r* file once any item of the Feature has left Awaiting Approval.',
165
+ inputSchema: {
166
+ type: 'object',
167
+ properties: {
168
+ id: { type: 'number', description: 'The work item id (the Feature carrying the attachments)' },
169
+ action: { type: 'string', enum: ['read', 'upload', 'delete'] },
170
+ fileName: { type: 'string', description: 'upload/delete: the attachment file name' },
171
+ content: { type: 'string', description: 'upload: the file content, sent as an octet-stream body' },
172
+ },
173
+ required: ['id', 'action'],
174
+ },
175
+ },
176
+ {
177
+ name: 'activity_add',
178
+ description: 'Append one entry to this repository\'s local agent activity log (.adl/agent-activity.sqlite, gitignored; A1, replaces docs/notes.md). Only the note is supplied — the server fills time (UTC ISO-8601), surface, agent identity and repository. Requires a resolvable agent identity, like every other tool.',
179
+ inputSchema: {
180
+ type: 'object',
181
+ properties: {
182
+ note: { type: 'string', description: 'The note text; non-empty' },
183
+ },
184
+ required: ['note'],
185
+ },
186
+ },
187
+ {
188
+ name: 'activity_list',
189
+ description: 'Read this repository\'s local agent activity log (.adl/agent-activity.sqlite): every entry, oldest first, each with time (UTC ISO-8601), surface, agent identity, repository and note.',
190
+ inputSchema: {
191
+ type: 'object',
192
+ properties: {},
193
+ },
194
+ },
147
195
  ],
148
196
  }));
149
197
 
@@ -4,10 +4,13 @@ import {
4
4
  validatePullRequestMetadata,
5
5
  validatePullRequestTitle,
6
6
  } from './lib/validate-pr-metadata.ts';
7
- import { prCreateOrUpdate, prListOrGet, type PrCreateOrUpdateArgs } from './azdo-pr.ts';
7
+ import { prCreateOrUpdate, prListOrGet, derivePrKind, type PrCreateOrUpdateArgs } from './azdo-pr.ts';
8
+ import { currentBranch } from './lib/client.ts';
8
9
  import { prReview, VOTE_NAMES, type PrReviewArgs, type VoteName } from './azdo-pr-review.ts';
9
10
  import { buildListOrGet, buildRun } from './azdo-pl.ts';
10
- import { workitemCreateOrUpdate, workitemListOrGet } from './azdo-wit.ts';
11
+ import { workitemAttachments } from './azdo-attachments.ts';
12
+ import { activityAdd, activityList } from './activity-log.ts';
13
+ import { workitemCommentsRead, workitemCreateOrUpdate, workitemListOrGet } from './azdo-wit.ts';
11
14
 
12
15
  type PullRequestWriteArguments = {
13
16
  action?: unknown;
@@ -17,6 +20,7 @@ type PullRequestWriteArguments = {
17
20
  autoComplete?: unknown;
18
21
  mergeStrategy?: unknown;
19
22
  deleteSourceBranch?: unknown;
23
+ attachmentContent?: unknown;
20
24
  repository?: unknown;
21
25
  sourceBranch?: unknown;
22
26
  targetBranch?: unknown;
@@ -34,6 +38,9 @@ export function pullRequestWriteArgs(args: PullRequestWriteArguments): PrCreateO
34
38
  ...validatePullRequestMetadata(
35
39
  typeof args.title === 'string' ? args.title : '',
36
40
  typeof args.description === 'string' ? args.description : '',
41
+ // P3: a planning branch may write "none (docs-only)" in the last two
42
+ // body sections; the branch is this process's own checkout.
43
+ derivePrKind(currentBranch() ?? '').kind === 'planning',
37
44
  ),
38
45
  );
39
46
  }
@@ -54,6 +61,9 @@ export function pullRequestWriteArgs(args: PullRequestWriteArguments): PrCreateO
54
61
  if (args.mergeStrategy !== undefined && args.mergeStrategy !== 'Squash') {
55
62
  errors.push('mergeStrategy must be Squash');
56
63
  }
64
+ if (args.attachmentContent !== undefined && typeof args.attachmentContent !== 'string') {
65
+ errors.push('attachmentContent must be a string');
66
+ }
57
67
  if (errors.length > 0) throw new Error(`Invalid pull request write:\n- ${errors.join('\n- ')}`);
58
68
 
59
69
  return {
@@ -65,6 +75,7 @@ export function pullRequestWriteArgs(args: PullRequestWriteArguments): PrCreateO
65
75
  : {}),
66
76
  ...(args.mergeStrategy === 'Squash' ? { mergeStrategy: args.mergeStrategy } : {}),
67
77
  ...(args.deleteSourceBranch === true ? { deleteSourceBranch: true } : {}),
78
+ ...(typeof args.attachmentContent === 'string' ? { attachmentContent: args.attachmentContent } : {}),
68
79
  ...(typeof args.repository === 'string' ? { repository: args.repository } : {}),
69
80
  };
70
81
  }
@@ -135,10 +146,21 @@ function validateToolArguments(name: string, args: ToolArguments): void {
135
146
  ['id', 'limit'].forEach((key) => assertInteger(args, key)); assertIntegerArray(args, 'ids');
136
147
  ['type', 'state', 'assignedTo'].forEach((key) => assertString(args, key)); assertBoolean(args, 'raw'); return;
137
148
  case 'workitem_create_or_update':
138
- ['id', 'parentId', 'priority'].forEach((key) => assertInteger(args, key)); ['predecessors', 'related'].forEach((key) => assertIntegerArray(args, key));
139
- ['type', 'title', 'description', 'state', 'comment', 'assignedTo', 'acceptanceCriteria', 'startDate', 'targetDate'].forEach((key) => assertString(args, key));
149
+ ['id', 'parentId', 'priority', 'planRevision'].forEach((key) => assertInteger(args, key)); ['predecessors', 'related'].forEach((key) => assertIntegerArray(args, key));
150
+ ['type', 'title', 'description', 'state', 'comment', 'assignedTo', 'acceptanceCriteria', 'startDate', 'targetDate', 'planHash', 'baselineSha'].forEach((key) => assertString(args, key));
140
151
  if (args.fields !== undefined && (typeof args.fields !== 'object' || args.fields === null || Array.isArray(args.fields))) throw new Error('fields must be an object');
141
152
  return;
153
+ case 'workitem_comments_read':
154
+ assertInteger(args, 'id'); return;
155
+ case 'workitem_attachments':
156
+ assertInteger(args, 'id');
157
+ if (args.action !== undefined && args.action !== 'read' && args.action !== 'upload' && args.action !== 'delete') {
158
+ throw new Error('action must be read, upload or delete');
159
+ }
160
+ ['fileName', 'content'].forEach((key) => assertString(args, key));
161
+ return;
162
+ case 'activity_add': assertString(args, 'note'); return;
163
+ case 'activity_list': return;
142
164
  default: return;
143
165
  }
144
166
  }
@@ -197,7 +219,34 @@ export async function dispatchTool(name: string, args: ToolArguments = {}): Prom
197
219
  ...(Number.isInteger(args.priority) ? { priority: args.priority as number } : {}),
198
220
  ...(typeof args.startDate === 'string' ? { startDate: args.startDate } : {}),
199
221
  ...(typeof args.targetDate === 'string' ? { targetDate: args.targetDate } : {}),
222
+ ...(Number.isInteger(args.planRevision) ? { planRevision: args.planRevision as number } : {}),
223
+ ...(typeof args.planHash === 'string' ? { planHash: args.planHash } : {}),
224
+ ...(typeof args.baselineSha === 'string' ? { baselineSha: args.baselineSha } : {}),
225
+ });
226
+ case 'workitem_comments_read':
227
+ if (!Number.isInteger(args.id)) throw new Error('id is required (a work item id)');
228
+ return workitemCommentsRead({ id: args.id as number });
229
+ case 'workitem_attachments': {
230
+ if (!Number.isInteger(args.id)) throw new Error('id is required (a work item id)');
231
+ const action = args.action;
232
+ if (action !== 'read' && action !== 'upload' && action !== 'delete') {
233
+ throw new Error('action is required and must be read, upload or delete');
234
+ }
235
+ return workitemAttachments({
236
+ id: args.id as number,
237
+ action,
238
+ ...(typeof args.fileName === 'string' ? { fileName: args.fileName } : {}),
239
+ ...(typeof args.content === 'string' ? { content: args.content } : {}),
200
240
  });
241
+ }
242
+ case 'activity_add': {
243
+ if (typeof args.note !== 'string' || args.note.trim() === '') {
244
+ throw new Error('note is required (a non-empty string)');
245
+ }
246
+ return activityAdd(args.note);
247
+ }
248
+ case 'activity_list':
249
+ return activityList();
201
250
  default:
202
251
  throw new Error(`Unknown tool: ${name}`);
203
252
  }
@@ -2,11 +2,11 @@ work_item_type,from_state,to_state,rule,skipped_states,owner,note
2
2
  Product Backlog Item,New,In Planning,allowed,,,
3
3
  Product Backlog Item,New,Awaiting Approval,skipped,In Planning,,
4
4
  Product Backlog Item,New,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
5
- Product Backlog Item,New,Spec Validation,skipped,In Planning;Awaiting Approval;Approved,,
6
- Product Backlog Item,New,In Implementation,skipped,In Planning;Awaiting Approval;Approved;Spec Validation,,
7
- Product Backlog Item,New,In Testing,skipped,In Planning;Awaiting Approval;Approved;Spec Validation;In Implementation,,
8
- Product Backlog Item,New,In Review,skipped,In Planning;Awaiting Approval;Approved;Spec Validation;In Implementation;In Testing,,
9
- Product Backlog Item,New,Updating Docs,skipped,In Planning;Awaiting Approval;Approved;Spec Validation;In Implementation;In Testing;In Review,,
5
+ Product Backlog Item,New,Design Validation,skipped,In Planning;Awaiting Approval;Approved,,
6
+ Product Backlog Item,New,In Implementation,skipped,In Planning;Awaiting Approval;Approved;Design Validation,,
7
+ Product Backlog Item,New,In Testing,skipped,In Planning;Awaiting Approval;Approved;Design Validation;In Implementation,,
8
+ Product Backlog Item,New,In Review,skipped,In Planning;Awaiting Approval;Approved;Design Validation;In Implementation;In Testing,,
9
+ Product Backlog Item,New,Updating Docs,skipped,In Planning;Awaiting Approval;Approved;Design Validation;In Implementation;In Testing;In Review,,
10
10
  Product Backlog Item,New,Done,human-only,,entered only by PR merge automation into integration,
11
11
  Product Backlog Item,New,Parked for Removal,allowed,,,
12
12
  Product Backlog Item,New,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
@@ -14,51 +14,52 @@ Product Backlog Item,New,Committed,no-transition,,,Committed is a retired state
14
14
  Product Backlog Item,In Planning,New,allowed,,,
15
15
  Product Backlog Item,In Planning,Awaiting Approval,allowed,,,
16
16
  Product Backlog Item,In Planning,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
17
- Product Backlog Item,In Planning,Spec Validation,skipped,Awaiting Approval;Approved,,
18
- Product Backlog Item,In Planning,In Implementation,skipped,Awaiting Approval;Approved;Spec Validation,,
19
- Product Backlog Item,In Planning,In Testing,skipped,Awaiting Approval;Approved;Spec Validation;In Implementation,,
20
- Product Backlog Item,In Planning,In Review,skipped,Awaiting Approval;Approved;Spec Validation;In Implementation;In Testing,,
21
- Product Backlog Item,In Planning,Updating Docs,skipped,Awaiting Approval;Approved;Spec Validation;In Implementation;In Testing;In Review,,
17
+ Product Backlog Item,In Planning,Design Validation,skipped,Awaiting Approval;Approved,,
18
+ Product Backlog Item,In Planning,In Implementation,skipped,Awaiting Approval;Approved;Design Validation,,
19
+ Product Backlog Item,In Planning,In Testing,skipped,Awaiting Approval;Approved;Design Validation;In Implementation,,
20
+ Product Backlog Item,In Planning,In Review,skipped,Awaiting Approval;Approved;Design Validation;In Implementation;In Testing,,
21
+ Product Backlog Item,In Planning,Updating Docs,skipped,Awaiting Approval;Approved;Design Validation;In Implementation;In Testing;In Review,,
22
22
  Product Backlog Item,In Planning,Done,human-only,,entered only by PR merge automation into integration,
23
23
  Product Backlog Item,In Planning,Parked for Removal,allowed,,,
24
24
  Product Backlog Item,In Planning,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
25
25
  Product Backlog Item,In Planning,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
26
26
  Product Backlog Item,Awaiting Approval,New,allowed,,,
27
27
  Product Backlog Item,Awaiting Approval,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
28
- Product Backlog Item,Awaiting Approval,Spec Validation,skipped,Approved,,
29
- Product Backlog Item,Awaiting Approval,In Implementation,skipped,Approved;Spec Validation,,
30
- Product Backlog Item,Awaiting Approval,In Testing,skipped,Approved;Spec Validation;In Implementation,,
31
- Product Backlog Item,Awaiting Approval,In Review,skipped,Approved;Spec Validation;In Implementation;In Testing,,
32
- Product Backlog Item,Awaiting Approval,Updating Docs,skipped,Approved;Spec Validation;In Implementation;In Testing;In Review,,
28
+ Product Backlog Item,Awaiting Approval,Design Validation,skipped,Approved,,
29
+ Product Backlog Item,Awaiting Approval,In Implementation,skipped,Approved;Design Validation,,
30
+ Product Backlog Item,Awaiting Approval,In Testing,skipped,Approved;Design Validation;In Implementation,,
31
+ Product Backlog Item,Awaiting Approval,In Review,skipped,Approved;Design Validation;In Implementation;In Testing,,
32
+ Product Backlog Item,Awaiting Approval,Updating Docs,skipped,Approved;Design Validation;In Implementation;In Testing;In Review,,
33
33
  Product Backlog Item,Awaiting Approval,Done,human-only,,entered only by PR merge automation into integration,
34
34
  Product Backlog Item,Awaiting Approval,Parked for Removal,allowed,,,
35
35
  Product Backlog Item,Awaiting Approval,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
36
36
  Product Backlog Item,Awaiting Approval,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
37
37
  Product Backlog Item,Approved,New,allowed,,,
38
- Product Backlog Item,Approved,Spec Validation,allowed,,,
39
- Product Backlog Item,Approved,In Implementation,skipped,Spec Validation,,
40
- Product Backlog Item,Approved,In Testing,skipped,Spec Validation;In Implementation,,
41
- Product Backlog Item,Approved,In Review,skipped,Spec Validation;In Implementation;In Testing,,
42
- Product Backlog Item,Approved,Updating Docs,skipped,Spec Validation;In Implementation;In Testing;In Review,,
38
+ Product Backlog Item,Approved,Design Validation,allowed,,,
39
+ Product Backlog Item,Approved,In Implementation,skipped,Design Validation,,
40
+ Product Backlog Item,Approved,In Testing,skipped,Design Validation;In Implementation,,
41
+ Product Backlog Item,Approved,In Review,skipped,Design Validation;In Implementation;In Testing,,
42
+ Product Backlog Item,Approved,Updating Docs,skipped,Design Validation;In Implementation;In Testing;In Review,,
43
43
  Product Backlog Item,Approved,Done,human-only,,entered only by PR merge automation into integration,
44
44
  Product Backlog Item,Approved,Parked for Removal,allowed,,,
45
45
  Product Backlog Item,Approved,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
46
46
  Product Backlog Item,Approved,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
47
- Product Backlog Item,Spec Validation,New,allowed,,,
48
- Product Backlog Item,Spec Validation,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
49
- Product Backlog Item,Spec Validation,In Implementation,allowed,,,
50
- Product Backlog Item,Spec Validation,In Testing,skipped,In Implementation,,
51
- Product Backlog Item,Spec Validation,In Review,skipped,In Implementation;In Testing,,
52
- Product Backlog Item,Spec Validation,Updating Docs,skipped,In Implementation;In Testing;In Review,,
53
- Product Backlog Item,Spec Validation,Done,human-only,,entered only by PR merge automation into integration,
54
- Product Backlog Item,Spec Validation,Parked for Removal,allowed,,,
55
- Product Backlog Item,Spec Validation,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
56
- Product Backlog Item,Spec Validation,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
47
+ Product Backlog Item,Design Validation,New,allowed,,,
48
+ Product Backlog Item,Design Validation,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
49
+ Product Backlog Item,Design Validation,In Implementation,allowed,,,
50
+ Product Backlog Item,Design Validation,In Testing,skipped,In Implementation,,
51
+ Product Backlog Item,Design Validation,In Review,skipped,In Implementation;In Testing,,
52
+ Product Backlog Item,Design Validation,Updating Docs,skipped,In Implementation;In Testing;In Review,,
53
+ Product Backlog Item,Design Validation,Done,human-only,,entered only by PR merge automation into integration,
54
+ Product Backlog Item,Design Validation,Parked for Removal,allowed,,,
55
+ Product Backlog Item,Design Validation,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
56
+ Product Backlog Item,Design Validation,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
57
57
  Product Backlog Item,In Implementation,New,allowed,,,
58
58
  Product Backlog Item,In Implementation,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
59
59
  Product Backlog Item,In Implementation,In Testing,allowed,,,
60
- Product Backlog Item,In Implementation,In Review,skipped,In Testing,,
61
- Product Backlog Item,In Implementation,Updating Docs,skipped,In Testing;In Review,,
60
+ Product Backlog Item,In Implementation,Design Validation,allowed,,,
61
+ Product Backlog Item,In Implementation,In Review,allowed,,,
62
+ Product Backlog Item,In Implementation,Updating Docs,allowed,,,
62
63
  Product Backlog Item,In Implementation,Done,human-only,,entered only by PR merge automation into integration,
63
64
  Product Backlog Item,In Implementation,Parked for Removal,allowed,,,
64
65
  Product Backlog Item,In Implementation,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
@@ -66,7 +67,8 @@ Product Backlog Item,In Implementation,Committed,no-transition,,,Committed is a
66
67
  Product Backlog Item,In Testing,New,allowed,,,
67
68
  Product Backlog Item,In Testing,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
68
69
  Product Backlog Item,In Testing,In Review,allowed,,,
69
- Product Backlog Item,In Testing,Updating Docs,skipped,In Review,,
70
+ Product Backlog Item,In Testing,In Implementation,allowed,,,
71
+ Product Backlog Item,In Testing,Updating Docs,allowed,,,
70
72
  Product Backlog Item,In Testing,Done,human-only,,entered only by PR merge automation into integration,
71
73
  Product Backlog Item,In Testing,Parked for Removal,allowed,,,
72
74
  Product Backlog Item,In Testing,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
@@ -75,6 +77,7 @@ Product Backlog Item,In Review,New,allowed,,,
75
77
  Product Backlog Item,In Review,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
76
78
  Product Backlog Item,In Review,In Implementation,allowed,,,
77
79
  Product Backlog Item,In Review,Updating Docs,allowed,,,
80
+ Product Backlog Item,In Review,In Testing,allowed,,,
78
81
  Product Backlog Item,In Review,Done,human-only,,entered only by PR merge automation into integration,
79
82
  Product Backlog Item,In Review,Parked for Removal,allowed,,,
80
83
  Product Backlog Item,In Review,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
@@ -83,35 +86,38 @@ Product Backlog Item,Updating Docs,New,allowed,,,
83
86
  Product Backlog Item,Updating Docs,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
84
87
  Product Backlog Item,Updating Docs,Done,human-only,,entered only by PR merge automation into integration,
85
88
  Product Backlog Item,Updating Docs,Parked for Removal,allowed,,,
89
+ Product Backlog Item,Updating Docs,In Implementation,allowed,,,
90
+ Product Backlog Item,Updating Docs,In Review,allowed,,,
91
+ Product Backlog Item,Updating Docs,In Testing,allowed,,,
86
92
  Product Backlog Item,Updating Docs,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
87
93
  Product Backlog Item,Updating Docs,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
88
- Product Backlog Item,Done,In Planning,allowed,,,
94
+ Product Backlog Item,Done,In Planning,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
89
95
  Product Backlog Item,Done,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
90
- Product Backlog Item,Done,Parked for Removal,allowed,,,
96
+ Product Backlog Item,Done,Parked for Removal,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
91
97
  Product Backlog Item,Done,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
92
98
  Product Backlog Item,Done,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
93
- Product Backlog Item,Parked for Removal,New,allowed,,,
94
- Product Backlog Item,Parked for Removal,In Planning,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
95
- Product Backlog Item,Parked for Removal,Awaiting Approval,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
99
+ Product Backlog Item,Parked for Removal,New,human-only,,human revive only; agents cannot move items from Parked for Removal back to New,
100
+ Product Backlog Item,Parked for Removal,In Planning,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
101
+ Product Backlog Item,Parked for Removal,Awaiting Approval,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
96
102
  Product Backlog Item,Parked for Removal,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
97
- Product Backlog Item,Parked for Removal,Spec Validation,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
98
- Product Backlog Item,Parked for Removal,In Implementation,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
99
- Product Backlog Item,Parked for Removal,In Testing,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
100
- Product Backlog Item,Parked for Removal,In Review,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
101
- Product Backlog Item,Parked for Removal,Updating Docs,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
103
+ Product Backlog Item,Parked for Removal,Design Validation,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
104
+ Product Backlog Item,Parked for Removal,In Implementation,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
105
+ Product Backlog Item,Parked for Removal,In Testing,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
106
+ Product Backlog Item,Parked for Removal,In Review,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
107
+ Product Backlog Item,Parked for Removal,Updating Docs,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
102
108
  Product Backlog Item,Parked for Removal,Done,human-only,,entered only by PR merge automation into integration,
103
109
  Product Backlog Item,Parked for Removal,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
104
110
  Product Backlog Item,Parked for Removal,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
105
- Product Backlog Item,Removed,New,allowed,,,
111
+ Product Backlog Item,Removed,New,no-transition,,,Removed is terminal
106
112
  Product Backlog Item,Removed,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
107
113
  Product Backlog Item,Removed,Done,human-only,,entered only by PR merge automation into integration,
108
- Product Backlog Item,Removed,Parked for Removal,allowed,,,
114
+ Product Backlog Item,Removed,Parked for Removal,no-transition,,,Removed is terminal
109
115
  Product Backlog Item,Removed,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
110
116
  Product Backlog Item,Committed,New,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
111
117
  Product Backlog Item,Committed,In Planning,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
112
118
  Product Backlog Item,Committed,Awaiting Approval,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
113
119
  Product Backlog Item,Committed,Approved,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
114
- Product Backlog Item,Committed,Spec Validation,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
120
+ Product Backlog Item,Committed,Design Validation,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
115
121
  Product Backlog Item,Committed,In Implementation,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
116
122
  Product Backlog Item,Committed,In Testing,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
117
123
  Product Backlog Item,Committed,In Review,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
@@ -119,120 +125,132 @@ Product Backlog Item,Committed,Updating Docs,no-transition,,,Committed is a reti
119
125
  Product Backlog Item,Committed,Done,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
120
126
  Product Backlog Item,Committed,Parked for Removal,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
121
127
  Product Backlog Item,Committed,Removed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
122
- Bug,New,In Planning,allowed,,,
123
- Bug,New,Awaiting Approval,skipped,In Planning,,
128
+ Product Backlog Item,In Reproduction,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
129
+ Product Backlog Item,In Reproduction,Done,human-only,,entered only by PR merge automation into integration,
130
+ Product Backlog Item,In Reproduction,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
131
+ Product Backlog Item,In Reproduction,Parked for Removal,allowed,,,
132
+ Product Backlog Item,In Reproduction,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
133
+ Product Backlog Item,In Fixing,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
134
+ Product Backlog Item,In Fixing,Done,human-only,,entered only by PR merge automation into integration,
135
+ Product Backlog Item,In Fixing,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
136
+ Product Backlog Item,In Fixing,Parked for Removal,allowed,,,
137
+ Product Backlog Item,In Fixing,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
138
+ Product Backlog Item,Committed,In Reproduction,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
139
+ Product Backlog Item,Committed,In Fixing,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
124
140
  Bug,New,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
125
- Bug,New,Spec Validation,skipped,In Planning;Awaiting Approval;Approved,,
126
- Bug,New,In Implementation,skipped,In Planning;Awaiting Approval;Approved;Spec Validation,,
127
- Bug,New,In Testing,skipped,In Planning;Awaiting Approval;Approved;Spec Validation;In Implementation,,
128
- Bug,New,In Review,skipped,In Planning;Awaiting Approval;Approved;Spec Validation;In Implementation;In Testing,,
129
- Bug,New,Updating Docs,skipped,In Planning;Awaiting Approval;Approved;Spec Validation;In Implementation;In Testing;In Review,,
130
141
  Bug,New,Done,human-only,,entered only by PR merge automation into integration,
131
142
  Bug,New,Parked for Removal,allowed,,,
132
143
  Bug,New,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
133
144
  Bug,New,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
134
- Bug,In Planning,New,allowed,,,
135
- Bug,In Planning,Awaiting Approval,allowed,,,
136
145
  Bug,In Planning,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
137
- Bug,In Planning,Spec Validation,skipped,Awaiting Approval;Approved,,
138
- Bug,In Planning,In Implementation,skipped,Awaiting Approval;Approved;Spec Validation,,
139
- Bug,In Planning,In Testing,skipped,Awaiting Approval;Approved;Spec Validation;In Implementation,,
140
- Bug,In Planning,In Review,skipped,Awaiting Approval;Approved;Spec Validation;In Implementation;In Testing,,
141
- Bug,In Planning,Updating Docs,skipped,Awaiting Approval;Approved;Spec Validation;In Implementation;In Testing;In Review,,
142
146
  Bug,In Planning,Done,human-only,,entered only by PR merge automation into integration,
143
- Bug,In Planning,Parked for Removal,allowed,,,
144
147
  Bug,In Planning,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
145
148
  Bug,In Planning,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
146
- Bug,Awaiting Approval,New,allowed,,,
147
149
  Bug,Awaiting Approval,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
148
- Bug,Awaiting Approval,Spec Validation,skipped,Approved,,
149
- Bug,Awaiting Approval,In Implementation,skipped,Approved;Spec Validation,,
150
- Bug,Awaiting Approval,In Testing,skipped,Approved;Spec Validation;In Implementation,,
151
- Bug,Awaiting Approval,In Review,skipped,Approved;Spec Validation;In Implementation;In Testing,,
152
- Bug,Awaiting Approval,Updating Docs,skipped,Approved;Spec Validation;In Implementation;In Testing;In Review,,
153
150
  Bug,Awaiting Approval,Done,human-only,,entered only by PR merge automation into integration,
154
- Bug,Awaiting Approval,Parked for Removal,allowed,,,
155
151
  Bug,Awaiting Approval,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
156
152
  Bug,Awaiting Approval,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
157
- Bug,Approved,New,allowed,,,
158
- Bug,Approved,Spec Validation,allowed,,,
159
- Bug,Approved,In Implementation,skipped,Spec Validation,,
160
- Bug,Approved,In Testing,skipped,Spec Validation;In Implementation,,
161
- Bug,Approved,In Review,skipped,Spec Validation;In Implementation;In Testing,,
162
- Bug,Approved,Updating Docs,skipped,Spec Validation;In Implementation;In Testing;In Review,,
153
+ Bug,Approved,In Reproduction,allowed,,,
163
154
  Bug,Approved,Done,human-only,,entered only by PR merge automation into integration,
164
155
  Bug,Approved,Parked for Removal,allowed,,,
165
156
  Bug,Approved,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
166
157
  Bug,Approved,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
167
- Bug,Spec Validation,New,allowed,,,
168
- Bug,Spec Validation,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
169
- Bug,Spec Validation,In Implementation,allowed,,,
170
- Bug,Spec Validation,In Testing,skipped,In Implementation,,
171
- Bug,Spec Validation,In Review,skipped,In Implementation;In Testing,,
172
- Bug,Spec Validation,Updating Docs,skipped,In Implementation;In Testing;In Review,,
173
- Bug,Spec Validation,Done,human-only,,entered only by PR merge automation into integration,
174
- Bug,Spec Validation,Parked for Removal,allowed,,,
175
- Bug,Spec Validation,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
176
- Bug,Spec Validation,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
177
- Bug,In Implementation,New,allowed,,,
158
+ Bug,Design Validation,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
159
+ Bug,Design Validation,Done,human-only,,entered only by PR merge automation into integration,
160
+ Bug,Design Validation,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
161
+ Bug,Design Validation,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
178
162
  Bug,In Implementation,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
179
- Bug,In Implementation,In Testing,allowed,,,
180
- Bug,In Implementation,In Review,skipped,In Testing,,
181
- Bug,In Implementation,Updating Docs,skipped,In Testing;In Review,,
182
163
  Bug,In Implementation,Done,human-only,,entered only by PR merge automation into integration,
183
- Bug,In Implementation,Parked for Removal,allowed,,,
184
164
  Bug,In Implementation,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
185
165
  Bug,In Implementation,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
186
- Bug,In Testing,New,allowed,,,
166
+ Bug,In Reproduction,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
167
+ Bug,In Reproduction,In Fixing,allowed,,,
168
+ Bug,In Reproduction,Done,human-only,,entered only by PR merge automation into integration,
169
+ Bug,In Reproduction,Parked for Removal,allowed,,,
170
+ Bug,In Reproduction,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
171
+ Bug,In Reproduction,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
172
+ Bug,In Fixing,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
173
+ Bug,In Fixing,In Testing,allowed,,,
174
+ Bug,In Fixing,In Review,allowed,,,
175
+ Bug,In Fixing,Updating Docs,allowed,,,
176
+ Bug,In Fixing,Done,human-only,,entered only by PR merge automation into integration,
177
+ Bug,In Fixing,Parked for Removal,allowed,,,
178
+ Bug,In Fixing,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
179
+ Bug,In Fixing,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
187
180
  Bug,In Testing,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
181
+ Bug,In Testing,In Fixing,allowed,,,
188
182
  Bug,In Testing,In Review,allowed,,,
189
- Bug,In Testing,Updating Docs,skipped,In Review,,
183
+ Bug,In Testing,Updating Docs,allowed,,,
190
184
  Bug,In Testing,Done,human-only,,entered only by PR merge automation into integration,
191
185
  Bug,In Testing,Parked for Removal,allowed,,,
192
186
  Bug,In Testing,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
193
187
  Bug,In Testing,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
194
- Bug,In Review,New,allowed,,,
195
188
  Bug,In Review,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
196
- Bug,In Review,In Implementation,allowed,,,
189
+ Bug,In Review,In Fixing,allowed,,,
190
+ Bug,In Review,In Testing,allowed,,,
197
191
  Bug,In Review,Updating Docs,allowed,,,
198
192
  Bug,In Review,Done,human-only,,entered only by PR merge automation into integration,
199
193
  Bug,In Review,Parked for Removal,allowed,,,
200
194
  Bug,In Review,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
201
195
  Bug,In Review,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
202
- Bug,Updating Docs,New,allowed,,,
203
196
  Bug,Updating Docs,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
197
+ Bug,Updating Docs,In Fixing,allowed,,,
198
+ Bug,Updating Docs,In Testing,allowed,,,
199
+ Bug,Updating Docs,In Review,allowed,,,
204
200
  Bug,Updating Docs,Done,human-only,,entered only by PR merge automation into integration,
205
201
  Bug,Updating Docs,Parked for Removal,allowed,,,
206
202
  Bug,Updating Docs,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
207
203
  Bug,Updating Docs,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
208
- Bug,Done,In Planning,allowed,,,
204
+ Bug,Done,New,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
205
+ Bug,Done,In Planning,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
206
+ Bug,Done,Awaiting Approval,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
209
207
  Bug,Done,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
210
- Bug,Done,Parked for Removal,allowed,,,
208
+ Bug,Done,Design Validation,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
209
+ Bug,Done,In Implementation,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
210
+ Bug,Done,In Reproduction,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
211
+ Bug,Done,In Fixing,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
212
+ Bug,Done,In Testing,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
213
+ Bug,Done,In Review,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
214
+ Bug,Done,Updating Docs,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
215
+ Bug,Done,Parked for Removal,no-transition,,,completed items stay Done; a G2 rejection gets its own linked item
211
216
  Bug,Done,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
212
217
  Bug,Done,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
213
- Bug,Parked for Removal,New,allowed,,,
214
- Bug,Parked for Removal,In Planning,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
215
- Bug,Parked for Removal,Awaiting Approval,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
218
+ Bug,Parked for Removal,New,human-only,,human revive only; agents cannot move items from Parked for Removal back to New,
219
+ Bug,Parked for Removal,In Planning,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
220
+ Bug,Parked for Removal,Awaiting Approval,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
216
221
  Bug,Parked for Removal,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
217
- Bug,Parked for Removal,Spec Validation,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
218
- Bug,Parked for Removal,In Implementation,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
219
- Bug,Parked for Removal,In Testing,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
220
- Bug,Parked for Removal,In Review,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
221
- Bug,Parked for Removal,Updating Docs,no-transition,,,Parked for Removal exits only to New (re-plan) or Removed (G3 human)
222
+ Bug,Parked for Removal,Design Validation,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
223
+ Bug,Parked for Removal,In Implementation,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
224
+ Bug,Parked for Removal,In Reproduction,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
225
+ Bug,Parked for Removal,In Fixing,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
226
+ Bug,Parked for Removal,In Testing,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
227
+ Bug,Parked for Removal,In Review,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
228
+ Bug,Parked for Removal,Updating Docs,no-transition,,,Parked for Removal exits only to New (human-only revive) or Removed (G3 human)
222
229
  Bug,Parked for Removal,Done,human-only,,entered only by PR merge automation into integration,
223
230
  Bug,Parked for Removal,Removed,human-only,,G3 — human removal only; agents cannot move items to Removed,
224
231
  Bug,Parked for Removal,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
225
- Bug,Removed,New,allowed,,,
232
+ Bug,Removed,New,no-transition,,,Removed is terminal
233
+ Bug,Removed,In Planning,no-transition,,,Removed is terminal
234
+ Bug,Removed,Awaiting Approval,no-transition,,,Removed is terminal
226
235
  Bug,Removed,Approved,human-only,,G1 — human approval only; agents cannot move items to Approved,
236
+ Bug,Removed,Design Validation,no-transition,,,Removed is terminal
237
+ Bug,Removed,In Implementation,no-transition,,,Removed is terminal
238
+ Bug,Removed,In Reproduction,no-transition,,,Removed is terminal
239
+ Bug,Removed,In Fixing,no-transition,,,Removed is terminal
240
+ Bug,Removed,In Testing,no-transition,,,Removed is terminal
241
+ Bug,Removed,In Review,no-transition,,,Removed is terminal
242
+ Bug,Removed,Updating Docs,no-transition,,,Removed is terminal
227
243
  Bug,Removed,Done,human-only,,entered only by PR merge automation into integration,
228
- Bug,Removed,Parked for Removal,allowed,,,
244
+ Bug,Removed,Parked for Removal,no-transition,,,Removed is terminal
229
245
  Bug,Removed,Committed,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
230
246
  Bug,Committed,New,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
231
247
  Bug,Committed,In Planning,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
232
248
  Bug,Committed,Awaiting Approval,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
233
249
  Bug,Committed,Approved,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
234
- Bug,Committed,Spec Validation,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
250
+ Bug,Committed,Design Validation,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
235
251
  Bug,Committed,In Implementation,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
252
+ Bug,Committed,In Reproduction,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
253
+ Bug,Committed,In Fixing,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
236
254
  Bug,Committed,In Testing,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
237
255
  Bug,Committed,In Review,no-transition,,,Committed is a retired state (UI-hidden; no route references it)
238
256
  Bug,Committed,Updating Docs,no-transition,,,Committed is a retired state (UI-hidden; no route references it)