trackops 2.0.4 → 2.0.5

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 (90) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +695 -640
  3. package/bin/trackops.js +116 -116
  4. package/lib/config.js +326 -326
  5. package/lib/control.js +208 -208
  6. package/lib/env.js +244 -244
  7. package/lib/init.js +325 -325
  8. package/lib/locale.js +41 -41
  9. package/lib/opera-bootstrap.js +942 -936
  10. package/lib/opera.js +495 -486
  11. package/lib/preferences.js +74 -74
  12. package/lib/registry.js +214 -214
  13. package/lib/release.js +56 -56
  14. package/lib/runtime-state.js +144 -144
  15. package/lib/skills.js +74 -57
  16. package/lib/workspace.js +260 -260
  17. package/locales/en.json +192 -170
  18. package/locales/es.json +192 -170
  19. package/package.json +61 -58
  20. package/scripts/postinstall-locale.js +21 -21
  21. package/scripts/skills-marketplace-smoke.js +124 -124
  22. package/scripts/smoke-tests.js +558 -554
  23. package/scripts/sync-skill-version.js +21 -21
  24. package/scripts/validate-skill.js +103 -103
  25. package/skills/trackops/SKILL.md +126 -122
  26. package/skills/trackops/agents/openai.yaml +7 -7
  27. package/skills/trackops/locales/en/SKILL.md +126 -122
  28. package/skills/trackops/locales/en/references/activation.md +94 -90
  29. package/skills/trackops/locales/en/references/troubleshooting.md +73 -67
  30. package/skills/trackops/locales/en/references/workflow.md +55 -32
  31. package/skills/trackops/references/activation.md +94 -90
  32. package/skills/trackops/references/troubleshooting.md +73 -67
  33. package/skills/trackops/references/workflow.md +55 -32
  34. package/skills/trackops/skill.json +29 -29
  35. package/templates/hooks/post-checkout +2 -2
  36. package/templates/hooks/post-commit +2 -2
  37. package/templates/hooks/post-merge +2 -2
  38. package/templates/opera/agent.md +28 -27
  39. package/templates/opera/architecture/dependency-graph.md +24 -24
  40. package/templates/opera/architecture/runtime-automation.md +24 -24
  41. package/templates/opera/architecture/runtime-operations.md +34 -34
  42. package/templates/opera/en/agent.md +22 -21
  43. package/templates/opera/en/architecture/dependency-graph.md +24 -24
  44. package/templates/opera/en/architecture/runtime-automation.md +24 -24
  45. package/templates/opera/en/architecture/runtime-operations.md +34 -34
  46. package/templates/opera/en/reviews/delivery-audit.md +18 -18
  47. package/templates/opera/en/reviews/integration-audit.md +18 -18
  48. package/templates/opera/en/router.md +24 -19
  49. package/templates/opera/references/autonomy-and-recovery.md +117 -117
  50. package/templates/opera/references/opera-cycle.md +193 -193
  51. package/templates/opera/registry.md +28 -28
  52. package/templates/opera/reviews/delivery-audit.md +18 -18
  53. package/templates/opera/reviews/integration-audit.md +18 -18
  54. package/templates/opera/router.md +54 -49
  55. package/templates/skills/changelog-updater/SKILL.md +69 -69
  56. package/templates/skills/commiter/SKILL.md +99 -99
  57. package/templates/skills/opera-contract-auditor/SKILL.md +38 -38
  58. package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -38
  59. package/templates/skills/opera-policy-guard/SKILL.md +26 -26
  60. package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -26
  61. package/templates/skills/opera-skill/SKILL.md +279 -0
  62. package/templates/skills/opera-skill/locales/en/SKILL.md +279 -0
  63. package/templates/skills/opera-skill/locales/en/references/phase-dod.md +138 -0
  64. package/templates/skills/opera-skill/references/phase-dod.md +138 -0
  65. package/templates/skills/project-starter-skill/SKILL.md +150 -131
  66. package/templates/skills/project-starter-skill/locales/en/SKILL.md +143 -105
  67. package/templates/skills/project-starter-skill/references/opera-cycle.md +195 -193
  68. package/ui/css/base.css +284 -284
  69. package/ui/css/charts.css +425 -425
  70. package/ui/css/components.css +1107 -1107
  71. package/ui/css/onboarding.css +133 -133
  72. package/ui/css/terminal.css +125 -125
  73. package/ui/css/timeline.css +58 -58
  74. package/ui/css/tokens.css +284 -284
  75. package/ui/favicon.svg +5 -5
  76. package/ui/index.html +99 -99
  77. package/ui/js/charts.js +526 -526
  78. package/ui/js/console-logger.js +172 -172
  79. package/ui/js/filters.js +247 -247
  80. package/ui/js/icons.js +129 -129
  81. package/ui/js/keyboard.js +229 -229
  82. package/ui/js/router.js +142 -142
  83. package/ui/js/theme.js +100 -100
  84. package/ui/js/time-tracker.js +248 -248
  85. package/ui/js/views/dashboard.js +870 -870
  86. package/ui/js/views/flash.js +47 -47
  87. package/ui/js/views/projects.js +745 -745
  88. package/ui/js/views/scrum.js +476 -476
  89. package/ui/js/views/settings.js +331 -331
  90. package/ui/js/views/timeline.js +265 -265
package/locales/en.json CHANGED
@@ -101,58 +101,58 @@
101
101
  "cli.next.stream": "stream",
102
102
  "cli.next.summary": "summary",
103
103
 
104
- "cli.help.title": "Project operational control",
105
- "cli.help.usage": "Usage:",
106
- "cli.help.commands": "Commands:",
107
- "cli.help.init.desc": "Initialize TrackOps in the current directory.",
108
- "cli.help.workspace.desc": "Show or migrate the current workspace layout.",
109
- "cli.help.env.desc": "Audit or sync the workspace .env contract.",
110
- "cli.help.release.desc": "Publish the configured app/ branch snapshot.",
111
- "cli.help.version.desc": "Print the installed TrackOps version.",
112
- "cli.help.status.desc": "Show project state: focus, active phase, ready tasks, blockers, repo.",
113
- "cli.help.next.desc": "Prioritized queue of next executable tasks.",
114
- "cli.help.sync.desc": "Regenerate task_plan.md, progress.md and findings.md from project_control.json.",
115
- "cli.help.dashboard.desc": "Launch the local web dashboard on a free port and print local/network URLs.",
116
- "cli.help.refreshRepo.desc": "Update the repo runtime snapshot with git state.",
117
- "cli.help.installHooks.desc": "Configure git core.hooksPath to use the TrackOps hooks directory.",
118
- "cli.help.register.desc": "Register the current project in the multi-project portfolio.",
119
- "cli.help.projects.desc": "List registered projects.",
120
- "cli.help.task.desc": "Actions: start, review, complete, block, pending, cancel, note.",
121
- "cli.help.opera.desc": "Manage OPERA.",
122
- "cli.help.opera.upgradeHint": "Upgrade: trackops opera upgrade --stable [--reset]",
123
- "cli.help.locale.desc": "Show or update the global TrackOps language.",
124
- "cli.help.doctor.desc": "Explain the effective language source for this machine/project.",
125
- "cli.help.skill.desc": "Manage skills.",
126
- "cli.help.help.desc": "Show this help.",
127
- "cli.help.globalWorkflow": "Global agent workflow:",
128
- "cli.help.globalWorkflow.line1": "Install the skill with 'npx skills add Baxahaun/trackops' and then the runtime with 'npm install -g trackops'.",
129
- "cli.help.globalWorkflow.line2": "Then verify with 'trackops --version' and use 'trackops init' and 'trackops opera install' explicitly inside each project.",
130
- "cli.usage.workspace": "Usage: trackops workspace <status|migrate>",
131
- "cli.usage.env": "Usage: trackops env <status|sync>",
132
- "cli.usage.opera": "Usage: trackops opera <install|bootstrap|handoff|status|configure|upgrade>",
133
- "cli.usage.skill": "Usage: trackops skill <install|list|remove|catalog> [name]",
134
- "cli.usage.locale": "Usage: trackops locale <get|set> [es|en]",
135
- "cli.usage.doctor": "Usage: trackops doctor locale",
136
- "cli.error.unknownCommand": "Unknown command: {command}",
137
- "cli.error.runHelp": "Run 'trackops help' for usage.",
138
- "cli.error.noWorkspace": "No TrackOps workspace found in this directory or any parent.",
139
- "locale.effective": "Effective language",
140
- "locale.source": "Source",
141
- "locale.global": "Global language",
142
- "locale.project": "Project language",
143
- "locale.env": "Environment language",
144
- "locale.system": "System language",
145
- "locale.runtimeFile": "Runtime file",
146
- "locale.none": "none",
147
- "locale.invalid": "Invalid locale: {value}.",
148
- "locale.updated": "Global language updated to {locale}.",
149
- "locale.source.explicit": "explicit flag",
150
- "locale.source.project": "project",
151
- "locale.source.global": "global",
152
- "locale.source.env": "environment",
153
- "locale.source.system": "system",
154
- "locale.source.prompt": "prompt",
155
- "locale.source.manual": "manual",
104
+ "cli.help.title": "Project operational control",
105
+ "cli.help.usage": "Usage:",
106
+ "cli.help.commands": "Commands:",
107
+ "cli.help.init.desc": "Initialize TrackOps in the current directory.",
108
+ "cli.help.workspace.desc": "Show or migrate the current workspace layout.",
109
+ "cli.help.env.desc": "Audit or sync the workspace .env contract.",
110
+ "cli.help.release.desc": "Publish the configured app/ branch snapshot.",
111
+ "cli.help.version.desc": "Print the installed TrackOps version.",
112
+ "cli.help.status.desc": "Show project state: focus, active phase, ready tasks, blockers, repo.",
113
+ "cli.help.next.desc": "Prioritized queue of next executable tasks.",
114
+ "cli.help.sync.desc": "Regenerate task_plan.md, progress.md and findings.md from project_control.json.",
115
+ "cli.help.dashboard.desc": "Launch the local web dashboard on a free port and print local/network URLs.",
116
+ "cli.help.refreshRepo.desc": "Update the repo runtime snapshot with git state.",
117
+ "cli.help.installHooks.desc": "Configure git core.hooksPath to use the TrackOps hooks directory.",
118
+ "cli.help.register.desc": "Register the current project in the multi-project portfolio.",
119
+ "cli.help.projects.desc": "List registered projects.",
120
+ "cli.help.task.desc": "Actions: start, review, complete, block, pending, cancel, note.",
121
+ "cli.help.opera.desc": "Manage OPERA.",
122
+ "cli.help.opera.upgradeHint": "Upgrade: trackops opera upgrade --stable [--reset]",
123
+ "cli.help.locale.desc": "Show or update the global TrackOps language.",
124
+ "cli.help.doctor.desc": "Explain the effective language source for this machine/project.",
125
+ "cli.help.skill.desc": "Manage skills.",
126
+ "cli.help.help.desc": "Show this help.",
127
+ "cli.help.globalWorkflow": "Global agent workflow:",
128
+ "cli.help.globalWorkflow.line1": "Install the skill with 'npx skills add Baxahaun/trackops' and then the runtime with 'npm install -g trackops'.",
129
+ "cli.help.globalWorkflow.line2": "Then verify with 'trackops --version' and use 'trackops init' and 'trackops opera install' explicitly inside each project.",
130
+ "cli.usage.workspace": "Usage: trackops workspace <status|migrate>",
131
+ "cli.usage.env": "Usage: trackops env <status|sync>",
132
+ "cli.usage.opera": "Usage: trackops opera <install|bootstrap|handoff|status|configure|upgrade>",
133
+ "cli.usage.skill": "Usage: trackops skill <install|list|remove|catalog> [name]",
134
+ "cli.usage.locale": "Usage: trackops locale <get|set> [es|en]",
135
+ "cli.usage.doctor": "Usage: trackops doctor locale",
136
+ "cli.error.unknownCommand": "Unknown command: {command}",
137
+ "cli.error.runHelp": "Run 'trackops help' for usage.",
138
+ "cli.error.noWorkspace": "No TrackOps workspace found in this directory or any parent.",
139
+ "locale.effective": "Effective language",
140
+ "locale.source": "Source",
141
+ "locale.global": "Global language",
142
+ "locale.project": "Project language",
143
+ "locale.env": "Environment language",
144
+ "locale.system": "System language",
145
+ "locale.runtimeFile": "Runtime file",
146
+ "locale.none": "none",
147
+ "locale.invalid": "Invalid locale: {value}.",
148
+ "locale.updated": "Global language updated to {locale}.",
149
+ "locale.source.explicit": "explicit flag",
150
+ "locale.source.project": "project",
151
+ "locale.source.global": "global",
152
+ "locale.source.env": "environment",
153
+ "locale.source.system": "system",
154
+ "locale.source.prompt": "prompt",
155
+ "locale.source.manual": "manual",
156
156
 
157
157
  "server.ready": "Ops dashboard ready at http://{host}:{port}",
158
158
  "server.bannerTitle": "Serving!",
@@ -188,90 +188,90 @@
188
188
  "init.defaultTaskTitle": "Set up project with trackops",
189
189
  "init.defaultTaskSummary": "Verify initial structure, adjust phases and confirm operational integration.",
190
190
 
191
- "opera.installed": "OPERA methodology installed (v{version}).",
192
- "opera.alreadyInstalled": "OPERA is already installed in this project (v{version}).",
193
- "opera.notInstalled": "OPERA is not installed in this project.",
194
- "opera.upgraded": "OPERA upgraded to v{version}.",
195
- "opera.primitiveDetected": "Existing OPERA installation detected (not managed by Ops).",
196
- "opera.status.version": "OPERA v{version}",
197
- "opera.status.installed": " Installed: {value}",
198
- "opera.status.skills": " Skills: {value}",
199
- "opera.status.locale": " Locale: {locale} ({source})",
200
- "opera.status.legacy": " Legacy: {value}",
201
- "opera.status.contractVersion": " Contract version: {value}",
202
- "opera.status.contractReadiness": " Contract readiness: {value}",
203
- "opera.status.bootstrap": " Bootstrap: {value}",
204
- "opera.status.mode": " Mode: {value}",
205
- "opera.status.route": " Route: {value}",
206
- "opera.status.ownership": " Ownership: {value}",
207
- "opera.status.missing": " Missing: {value}",
208
- "opera.status.resume": " Resume: trackops opera bootstrap --resume",
209
- "opera.status.handoff": " Handoff: {value}",
210
- "opera.status.qualityReport": " Quality report: {value}",
211
- "opera.status.structure": " Structure:",
212
- "opera.configure.invalidPhases": "Invalid phases JSON.",
213
- "opera.configure.updated": "Configuration updated.",
214
- "opera.upgrade.runInstallFirst": "Run 'trackops opera install' first.",
215
- "opera.upgrade.usage": "Usage: trackops opera upgrade --stable [--reset]",
216
- "opera.upgrade.legacyUnsupported": "Legacy OPERA project detected. Run 'trackops opera upgrade --stable --reset' to move it to the current stable model.",
217
- "opera.upgrade.backup": "Backup: {path}",
218
- "postinstall.localeSet": "TrackOps set the language to '{locale}' ({source}).",
191
+ "opera.installed": "OPERA methodology installed (v{version}).",
192
+ "opera.alreadyInstalled": "OPERA is already installed in this project (v{version}).",
193
+ "opera.notInstalled": "OPERA is not installed in this project.",
194
+ "opera.upgraded": "OPERA upgraded to v{version}.",
195
+ "opera.primitiveDetected": "Existing OPERA installation detected (not managed by Ops).",
196
+ "opera.status.version": "OPERA v{version}",
197
+ "opera.status.installed": " Installed: {value}",
198
+ "opera.status.skills": " Skills: {value}",
199
+ "opera.status.locale": " Locale: {locale} ({source})",
200
+ "opera.status.legacy": " Legacy: {value}",
201
+ "opera.status.contractVersion": " Contract version: {value}",
202
+ "opera.status.contractReadiness": " Contract readiness: {value}",
203
+ "opera.status.bootstrap": " Bootstrap: {value}",
204
+ "opera.status.mode": " Mode: {value}",
205
+ "opera.status.route": " Route: {value}",
206
+ "opera.status.ownership": " Ownership: {value}",
207
+ "opera.status.missing": " Missing: {value}",
208
+ "opera.status.resume": " Resume: trackops opera bootstrap --resume",
209
+ "opera.status.handoff": " Handoff: {value}",
210
+ "opera.status.qualityReport": " Quality report: {value}",
211
+ "opera.status.structure": " Structure:",
212
+ "opera.configure.invalidPhases": "Invalid phases JSON.",
213
+ "opera.configure.updated": "Configuration updated.",
214
+ "opera.upgrade.runInstallFirst": "Run 'trackops opera install' first.",
215
+ "opera.upgrade.usage": "Usage: trackops opera upgrade --stable [--reset]",
216
+ "opera.upgrade.legacyUnsupported": "Legacy OPERA project detected. Run 'trackops opera upgrade --stable --reset' to move it to the current stable model.",
217
+ "opera.upgrade.backup": "Backup: {path}",
218
+ "postinstall.localeSet": "TrackOps set the language to '{locale}' ({source}).",
219
219
 
220
220
  "skill.installed": "Skill '{name}' installed.",
221
221
  "skill.removed": "Skill '{name}' uninstalled.",
222
222
  "skill.notFound": "Skill '{name}' not found in the catalog.",
223
223
  "skill.alreadyInstalled": "Skill '{name}' is already installed.",
224
- "skill.notInstalled": "Skill '{name}' is not installed.",
225
- "skill.catalogTitle": "Available skills:",
226
- "skill.listTitle": "Installed skills:",
227
-
228
- "cli.status.bootstrap": "Bootstrap: {status} | Locale: {locale}",
224
+ "skill.notInstalled": "Skill '{name}' is not installed.",
225
+ "skill.catalogTitle": "Available skills:",
226
+ "skill.listTitle": "Installed skills:",
229
227
 
230
- "bootstrap.header": "OPERA bootstrap",
231
- "bootstrap.subtitle": "Classify the user and the project first. TrackOps will decide whether to continue in the terminal or route discovery to the agent.",
232
- "bootstrap.instructions": "Answer with low|medium|high|senior, or press Enter to keep the default value when you are unsure.",
233
- "bootstrap.question.technicalLevel": "User technical level",
234
- "bootstrap.question.projectState": "Current project state",
235
- "bootstrap.question.docsState": "Available documentation",
236
- "bootstrap.question.decisionOwnership": "Who should own key decisions",
237
- "bootstrap.question.problemStatement": "Main problem to solve",
238
- "bootstrap.question.targetUser": "Primary target user",
239
- "bootstrap.question.desiredOutcome": "Desired outcome",
240
- "bootstrap.question.externalServices": "External services (comma separated)",
241
- "bootstrap.question.sourceOfTruth": "Source of truth",
242
- "bootstrap.question.payload": "Delivery payload / target",
243
- "bootstrap.question.behaviorRules": "Behavior rules (semicolon separated)",
228
+ "cli.status.bootstrap": "Bootstrap: {status} | Locale: {locale}",
229
+
230
+ "bootstrap.header": "OPERA bootstrap",
231
+ "bootstrap.subtitle": "Classify the user and the project first. TrackOps will decide whether to continue in the terminal or route discovery to the agent.",
232
+ "bootstrap.instructions": "Answer with low|medium|high|senior, or press Enter to keep the default value when you are unsure.",
233
+ "bootstrap.question.technicalLevel": "User technical level",
234
+ "bootstrap.question.projectState": "Current project state",
235
+ "bootstrap.question.docsState": "Available documentation",
236
+ "bootstrap.question.decisionOwnership": "Who should own key decisions",
237
+ "bootstrap.question.problemStatement": "Main problem to solve",
238
+ "bootstrap.question.targetUser": "Primary target user",
239
+ "bootstrap.question.desiredOutcome": "Desired outcome",
240
+ "bootstrap.question.externalServices": "External services (comma separated)",
241
+ "bootstrap.question.sourceOfTruth": "Source of truth",
242
+ "bootstrap.question.payload": "Delivery payload / target",
243
+ "bootstrap.question.behaviorRules": "Behavior rules (semicolon separated)",
244
244
  "bootstrap.question.inputSchema": "Input schema JSON",
245
245
  "bootstrap.question.outputSchema": "Output schema JSON",
246
246
  "bootstrap.question.invariants": "Architectural invariants (semicolon separated)",
247
247
  "bootstrap.question.pipeline": "Pipeline steps (semicolon separated)",
248
- "bootstrap.question.templates": "Template files (comma separated)",
249
- "bootstrap.question.repoTasks": "Include optional repo tasks? [y/n]",
250
- "bootstrap.completed": "OPERA bootstrap completed.",
251
- "bootstrap.pending": "OPERA bootstrap saved as pending. Resume with 'trackops opera bootstrap --resume'.",
252
- "bootstrap.awaitingAgent": "OPERA bootstrap has been routed to the agent. Complete the handoff and resume with 'trackops opera bootstrap --resume'.",
253
- "bootstrap.handoffFile": "Handoff file",
254
- "bootstrap.next.handoff": "Next step: run 'trackops opera handoff --print', paste the context into your agent, and come back when ops/bootstrap/intake.json and ops/bootstrap/spec-dossier.md exist.",
255
- "bootstrap.next.directCompleted": "Next step: review 'trackops opera status' and continue normal work with 'trackops next' and 'trackops sync'.",
256
- "bootstrap.next.directPending": "Next step: complete the missing data and resume with 'trackops opera bootstrap --resume'.",
257
- "bootstrap.infer.envSourceHint": "Environment files detected",
258
- "bootstrap.noneDefined": "Not defined yet.",
259
- "bootstrap.pendingValue": "Pending definition.",
260
- "bootstrap.servicePending": "pending",
261
- "bootstrap.defaultFocus": "Complete OPERA bootstrap",
262
- "bootstrap.defaultTarget": "Target delivery pending definition",
263
- "bootstrap.blocker.missingData": "Core bootstrap data is still missing.",
264
- "bootstrap.blocker.awaitingAgent": "Waiting for the agent handoff output.",
265
- "bootstrap.history.seeded": "Seeded by OPERA bootstrap.",
266
- "bootstrap.acceptance.discovery": "Discovery questions answered.",
267
- "bootstrap.acceptance.schema": "Input/output schema defined in genesis.md.",
268
- "bootstrap.acceptance.rules": "Behavior rules documented.",
269
- "bootstrap.acceptance.plan": "Plan reviewed and accepted.",
270
- "bootstrap.acceptance.intake": "The agent generated ops/bootstrap/intake.json.",
271
- "bootstrap.acceptance.specDossier": "The agent generated ops/bootstrap/spec-dossier.md.",
272
- "bootstrap.acceptance.resume": "OPERA ingested the context and continued.",
273
- "bootstrap.acceptance.env": "Required credentials verified.",
274
- "bootstrap.acceptance.tests": "Connectivity checks passing.",
248
+ "bootstrap.question.templates": "Template files (comma separated)",
249
+ "bootstrap.question.repoTasks": "Include optional repo tasks? [y/n]",
250
+ "bootstrap.completed": "OPERA bootstrap completed.",
251
+ "bootstrap.pending": "OPERA bootstrap saved as pending. Resume with 'trackops opera bootstrap --resume'.",
252
+ "bootstrap.awaitingAgent": "OPERA bootstrap has been routed to the agent. Complete the handoff and resume with 'trackops opera bootstrap --resume'.",
253
+ "bootstrap.handoffFile": "Handoff file",
254
+ "bootstrap.next.handoff": "Next step: run 'trackops opera handoff --print', paste the context into your agent, and come back when ops/bootstrap/intake.json and ops/bootstrap/spec-dossier.md exist.",
255
+ "bootstrap.next.directCompleted": "Next step: review 'trackops opera status' and continue normal work with 'trackops next' and 'trackops sync'.",
256
+ "bootstrap.next.directPending": "Next step: complete the missing data and resume with 'trackops opera bootstrap --resume'.",
257
+ "bootstrap.infer.envSourceHint": "Environment files detected",
258
+ "bootstrap.noneDefined": "Not defined yet.",
259
+ "bootstrap.pendingValue": "Pending definition.",
260
+ "bootstrap.servicePending": "pending",
261
+ "bootstrap.defaultFocus": "Complete OPERA bootstrap",
262
+ "bootstrap.defaultTarget": "Target delivery pending definition",
263
+ "bootstrap.blocker.missingData": "Core bootstrap data is still missing.",
264
+ "bootstrap.blocker.awaitingAgent": "Waiting for the agent handoff output.",
265
+ "bootstrap.history.seeded": "Seeded by OPERA bootstrap.",
266
+ "bootstrap.acceptance.discovery": "Discovery questions answered.",
267
+ "bootstrap.acceptance.schema": "Input/output schema defined in genesis.md.",
268
+ "bootstrap.acceptance.rules": "Behavior rules documented.",
269
+ "bootstrap.acceptance.plan": "Plan reviewed and accepted.",
270
+ "bootstrap.acceptance.intake": "The agent generated ops/bootstrap/intake.json.",
271
+ "bootstrap.acceptance.specDossier": "The agent generated ops/bootstrap/spec-dossier.md.",
272
+ "bootstrap.acceptance.resume": "OPERA ingested the context and continued.",
273
+ "bootstrap.acceptance.env": "Required credentials verified.",
274
+ "bootstrap.acceptance.tests": "Connectivity checks passing.",
275
275
  "bootstrap.acceptance.shape": "External shapes validated against genesis.md.",
276
276
  "bootstrap.acceptance.findings": "Findings documented.",
277
277
  "bootstrap.acceptance.sops": "SOPs documented.",
@@ -285,10 +285,10 @@
285
285
  "bootstrap.acceptance.deploy": "Deployment completed.",
286
286
  "bootstrap.acceptance.triggers": "Triggers configured.",
287
287
  "bootstrap.acceptance.smoke": "Smoke test passing.",
288
- "bootstrap.task.bootstrap.title": "Complete OPERA bootstrap",
289
- "bootstrap.task.bootstrap.summary": "Turn the installed OPERA structure into a project-specific operating model.",
290
- "bootstrap.task.bootstrap.handoffSummary": "Prepare the agent handoff so an idea or partial specification becomes structured operational context.",
291
- "bootstrap.task.prove.title": "Validate integrations",
288
+ "bootstrap.task.bootstrap.title": "Complete OPERA bootstrap",
289
+ "bootstrap.task.bootstrap.summary": "Turn the installed OPERA structure into a project-specific operating model.",
290
+ "bootstrap.task.bootstrap.handoffSummary": "Prepare the agent handoff so an idea or partial specification becomes structured operational context.",
291
+ "bootstrap.task.prove.title": "Validate integrations",
292
292
  "bootstrap.task.prove.summary": "Verify credentials, connectivity, and response shapes before building further.",
293
293
  "bootstrap.task.structure.title": "Structure the system",
294
294
  "bootstrap.task.structure.summary": "Document SOPs, implement tools, and capture the dependency graph.",
@@ -304,21 +304,21 @@
304
304
  "bootstrap.task.repoChangelog.summary": "Decide how CHANGELOG.md should be maintained in this project.",
305
305
  "bootstrap.task.repoGithub.title": "Review GitHub governance tasks",
306
306
  "bootstrap.task.repoGithub.summary": "Check whether repository automation or governance tasks should be enabled.",
307
- "bootstrap.field.singularDesiredOutcome": "Desired outcome",
308
- "bootstrap.field.desiredOutcome": "Desired outcome",
309
- "bootstrap.field.problemStatement": "Problem statement",
310
- "bootstrap.field.targetUser": "Target user",
311
- "bootstrap.field.decisionOwnership": "Decision ownership",
312
- "bootstrap.field.sourceOfTruth": "Source of truth",
313
- "bootstrap.field.payload": "Payload",
314
- "bootstrap.field.inputSchema": "Input schema",
315
- "bootstrap.field.outputSchema": "Output schema",
316
- "bootstrap.field.intakeJson": "intake.json file",
317
- "bootstrap.field.specDossier": "spec-dossier.md file",
318
- "bootstrap.decisionImpact": "Required to complete the OPERA bootstrap.",
319
- "bootstrap.pendingDecision.handoff": "Send the TrackOps handoff to the agent",
320
- "bootstrap.pendingDecision.handoffImpact": "Required so the agent can generate intake.json and spec-dossier.md.",
321
- "bootstrap.finding.genesisConflictTitle": "Genesis requires manual review",
307
+ "bootstrap.field.singularDesiredOutcome": "Desired outcome",
308
+ "bootstrap.field.desiredOutcome": "Desired outcome",
309
+ "bootstrap.field.problemStatement": "Problem statement",
310
+ "bootstrap.field.targetUser": "Target user",
311
+ "bootstrap.field.decisionOwnership": "Decision ownership",
312
+ "bootstrap.field.sourceOfTruth": "Source of truth",
313
+ "bootstrap.field.payload": "Payload",
314
+ "bootstrap.field.inputSchema": "Input schema",
315
+ "bootstrap.field.outputSchema": "Output schema",
316
+ "bootstrap.field.intakeJson": "intake.json file",
317
+ "bootstrap.field.specDossier": "spec-dossier.md file",
318
+ "bootstrap.decisionImpact": "Required to complete the OPERA bootstrap.",
319
+ "bootstrap.pendingDecision.handoff": "Send the TrackOps handoff to the agent",
320
+ "bootstrap.pendingDecision.handoffImpact": "Required so the agent can generate intake.json and spec-dossier.md.",
321
+ "bootstrap.finding.genesisConflictTitle": "Genesis requires manual review",
322
322
  "bootstrap.finding.genesisConflictDetail": "TrackOps detected a non-template genesis.md and stopped automatic overwrite.",
323
323
  "bootstrap.finding.genesisConflictImpact": "Bootstrap cannot be completed until the existing constitution is reviewed.",
324
324
 
@@ -405,28 +405,50 @@
405
405
  "ui.execution.stop": "Stop",
406
406
  "ui.execution.output": "Command output",
407
407
  "ui.execution.outputPlaceholder": "# Run a command to see its output here...",
408
- "ui.execution.started": "Started",
409
- "ui.execution.running": "Running...",
410
- "ui.execution.quick.status": "status",
411
- "ui.execution.quick.sync": "sync docs",
412
- "ui.execution.quick.next": "next tasks",
413
- "ui.execution.quick.repo": "refresh repo",
414
- "ui.settings.workspaceTitle": "Workspace",
415
- "ui.settings.workspaceRoot": "Workspace root",
416
- "ui.settings.appRoot": "App root",
417
- "ui.settings.opsRoot": "Ops root",
418
- "ui.settings.envTitle": "Environment",
419
- "ui.settings.envHealthyBadge": "Ready",
420
- "ui.settings.envMissingBadge": "{count} missing",
421
- "ui.settings.envBridgeMode": "Bridge mode",
422
- "ui.settings.envRootFile": "Root .env",
423
- "ui.settings.envExampleFile": ".env.example",
424
- "ui.settings.envAppBridge": "app/.env bridge",
425
- "ui.settings.envRequiredKeys": "Required keys",
426
- "ui.settings.envPresentKeys": "Present keys",
427
- "ui.settings.envMissingKeys": "Missing keys",
428
- "ui.settings.envNoMissing": "None",
429
- "ui.settings.envLastAudit": "Last audit",
430
- "ui.settings.envSync": "Sync env",
431
- "ui.settings.envSynced": "Environment synced."
432
- }
408
+ "ui.execution.started": "Started",
409
+ "ui.execution.running": "Running...",
410
+ "ui.execution.quick.status": "status",
411
+ "ui.execution.quick.sync": "sync docs",
412
+ "ui.execution.quick.next": "next tasks",
413
+ "ui.execution.quick.repo": "refresh repo",
414
+ "ui.settings.workspaceTitle": "Workspace",
415
+ "ui.settings.workspaceRoot": "Workspace root",
416
+ "ui.settings.appRoot": "App root",
417
+ "ui.settings.opsRoot": "Ops root",
418
+ "ui.settings.envTitle": "Environment",
419
+ "ui.settings.envHealthyBadge": "Ready",
420
+ "ui.settings.envMissingBadge": "{count} missing",
421
+ "ui.settings.envBridgeMode": "Bridge mode",
422
+ "ui.settings.envRootFile": "Root .env",
423
+ "ui.settings.envExampleFile": ".env.example",
424
+ "ui.settings.envAppBridge": "app/.env bridge",
425
+ "ui.settings.envRequiredKeys": "Required keys",
426
+ "ui.settings.envPresentKeys": "Present keys",
427
+ "ui.settings.envMissingKeys": "Missing keys",
428
+ "ui.settings.envNoMissing": "None",
429
+ "ui.settings.envLastAudit": "Last audit",
430
+ "ui.settings.envSync": "Sync env",
431
+ "ui.settings.envSynced": "Environment synced.",
432
+
433
+ "handoff.title": "OPERA agent handoff",
434
+ "handoff.skillInstruction": "Use `project-starter-skill` as a discovery and structuring skill for this project.",
435
+ "handoff.section.userProfile": "User profile",
436
+ "handoff.label.technicalLevel": "Technical level",
437
+ "handoff.label.explanationMode": "Explanation mode",
438
+ "handoff.label.decisionOwnership": "Decision ownership",
439
+ "handoff.label.preferredLanguage": "Preferred language",
440
+ "handoff.section.projectState": "Project state",
441
+ "handoff.label.projectState": "Project state",
442
+ "handoff.label.documentationState": "Documentation state",
443
+ "handoff.section.whatToDo": "What to do",
444
+ "handoff.instruction.startFromUser": "Start from the user, not from architecture assumptions.",
445
+ "handoff.instruction.adaptDepth": "Adapt depth and language to the user's technical level.",
446
+ "handoff.instruction.readDocs": "If documentation exists, read it, summarize it, and consolidate it.",
447
+ "handoff.instruction.helpSpec": "If documentation does not exist, help the user turn the idea into a workable project specification.",
448
+ "handoff.instruction.writeIntake": "Write `ops/bootstrap/intake.json` with the structured discovery output.",
449
+ "handoff.instruction.writeSpec": "Write `ops/bootstrap/spec-dossier.md` with the narrative or technical specification that OPERA will ingest.",
450
+ "handoff.instruction.writeQuestions": "Write `ops/bootstrap/open-questions.md` if important uncertainties remain.",
451
+ "handoff.instruction.includeFields": "Include explicit fields for problem statement, target user, desired outcome, source of truth, delivery target, and schemas.",
452
+ "handoff.instruction.respondInLanguage": "Respond to the user in {language}.",
453
+ "handoff.label.knownIntention": "Known project intention"
454
+ }