trackops 2.0.3 → 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 (103) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +695 -402
  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 +24 -0
  9. package/lib/opera-bootstrap.js +941 -874
  10. package/lib/opera.js +494 -477
  11. package/lib/preferences.js +74 -74
  12. package/lib/registry.js +214 -196
  13. package/lib/release.js +56 -56
  14. package/lib/runtime-state.js +144 -144
  15. package/lib/server.js +312 -207
  16. package/lib/skills.js +74 -57
  17. package/lib/workspace.js +260 -260
  18. package/locales/en.json +192 -166
  19. package/locales/es.json +192 -166
  20. package/package.json +61 -58
  21. package/scripts/postinstall-locale.js +21 -21
  22. package/scripts/skills-marketplace-smoke.js +124 -124
  23. package/scripts/smoke-tests.js +558 -554
  24. package/scripts/sync-skill-version.js +21 -21
  25. package/scripts/validate-skill.js +103 -103
  26. package/skills/trackops/SKILL.md +126 -122
  27. package/skills/trackops/agents/openai.yaml +7 -7
  28. package/skills/trackops/locales/en/SKILL.md +126 -122
  29. package/skills/trackops/locales/en/references/activation.md +94 -75
  30. package/skills/trackops/locales/en/references/troubleshooting.md +73 -55
  31. package/skills/trackops/locales/en/references/workflow.md +55 -32
  32. package/skills/trackops/references/activation.md +94 -75
  33. package/skills/trackops/references/troubleshooting.md +73 -55
  34. package/skills/trackops/references/workflow.md +55 -32
  35. package/skills/trackops/skill.json +29 -29
  36. package/templates/hooks/post-checkout +2 -2
  37. package/templates/hooks/post-commit +2 -2
  38. package/templates/hooks/post-merge +2 -2
  39. package/templates/opera/agent.md +28 -27
  40. package/templates/opera/architecture/dependency-graph.md +24 -24
  41. package/templates/opera/architecture/runtime-automation.md +24 -24
  42. package/templates/opera/architecture/runtime-operations.md +34 -34
  43. package/templates/opera/en/agent.md +22 -21
  44. package/templates/opera/en/architecture/dependency-graph.md +24 -24
  45. package/templates/opera/en/architecture/runtime-automation.md +24 -24
  46. package/templates/opera/en/architecture/runtime-operations.md +34 -34
  47. package/templates/opera/en/reviews/delivery-audit.md +18 -18
  48. package/templates/opera/en/reviews/integration-audit.md +18 -18
  49. package/templates/opera/en/router.md +24 -19
  50. package/templates/opera/references/autonomy-and-recovery.md +117 -117
  51. package/templates/opera/references/opera-cycle.md +193 -193
  52. package/templates/opera/registry.md +28 -28
  53. package/templates/opera/reviews/delivery-audit.md +18 -18
  54. package/templates/opera/reviews/integration-audit.md +18 -18
  55. package/templates/opera/router.md +54 -49
  56. package/templates/skills/changelog-updater/SKILL.md +69 -69
  57. package/templates/skills/commiter/SKILL.md +99 -99
  58. package/templates/skills/opera-contract-auditor/SKILL.md +38 -38
  59. package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -38
  60. package/templates/skills/opera-policy-guard/SKILL.md +26 -26
  61. package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -26
  62. package/templates/skills/opera-skill/SKILL.md +279 -0
  63. package/templates/skills/opera-skill/locales/en/SKILL.md +279 -0
  64. package/templates/skills/opera-skill/locales/en/references/phase-dod.md +138 -0
  65. package/templates/skills/opera-skill/references/phase-dod.md +138 -0
  66. package/templates/skills/project-starter-skill/SKILL.md +150 -131
  67. package/templates/skills/project-starter-skill/locales/en/SKILL.md +143 -105
  68. package/templates/skills/project-starter-skill/references/opera-cycle.md +195 -193
  69. package/ui/css/base.css +284 -266
  70. package/ui/css/charts.css +425 -327
  71. package/ui/css/components.css +1107 -570
  72. package/ui/css/onboarding.css +133 -0
  73. package/ui/css/panels.css +345 -406
  74. package/ui/css/terminal.css +125 -0
  75. package/ui/css/timeline.css +58 -0
  76. package/ui/css/tokens.css +284 -227
  77. package/ui/favicon.svg +5 -5
  78. package/ui/index.html +99 -96
  79. package/ui/js/api.js +49 -13
  80. package/ui/js/app.js +28 -32
  81. package/ui/js/charts.js +526 -0
  82. package/ui/js/console-logger.js +172 -172
  83. package/ui/js/filters.js +247 -0
  84. package/ui/js/icons.js +129 -104
  85. package/ui/js/keyboard.js +229 -0
  86. package/ui/js/onboarding.js +33 -42
  87. package/ui/js/router.js +142 -125
  88. package/ui/js/theme.js +100 -100
  89. package/ui/js/time-tracker.js +248 -248
  90. package/ui/js/views/board.js +84 -114
  91. package/ui/js/views/dashboard.js +870 -0
  92. package/ui/js/views/flash.js +47 -47
  93. package/ui/js/views/projects.js +745 -0
  94. package/ui/js/views/scrum.js +476 -0
  95. package/ui/js/views/settings.js +153 -203
  96. package/ui/js/views/sidebar.js +37 -31
  97. package/ui/js/views/tasks.js +218 -101
  98. package/ui/js/views/timeline.js +265 -0
  99. package/ui/js/views/topbar.js +94 -107
  100. package/ui/app.js +0 -950
  101. package/ui/js/views/insights.js +0 -340
  102. package/ui/js/views/overview.js +0 -369
  103. package/ui/styles.css +0 -688
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,86 +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.question.technicalLevel": "User technical level",
233
- "bootstrap.question.projectState": "Current project state",
234
- "bootstrap.question.docsState": "Available documentation",
235
- "bootstrap.question.decisionOwnership": "Who should own key decisions",
236
- "bootstrap.question.problemStatement": "Main problem to solve",
237
- "bootstrap.question.targetUser": "Primary target user",
238
- "bootstrap.question.desiredOutcome": "Desired outcome",
239
- "bootstrap.question.externalServices": "External services (comma separated)",
240
- "bootstrap.question.sourceOfTruth": "Source of truth",
241
- "bootstrap.question.payload": "Delivery payload / target",
242
- "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)",
243
244
  "bootstrap.question.inputSchema": "Input schema JSON",
244
245
  "bootstrap.question.outputSchema": "Output schema JSON",
245
246
  "bootstrap.question.invariants": "Architectural invariants (semicolon separated)",
246
247
  "bootstrap.question.pipeline": "Pipeline steps (semicolon separated)",
247
- "bootstrap.question.templates": "Template files (comma separated)",
248
- "bootstrap.question.repoTasks": "Include optional repo tasks? [y/n]",
249
- "bootstrap.completed": "OPERA bootstrap completed.",
250
- "bootstrap.pending": "OPERA bootstrap saved as pending. Resume with 'trackops opera bootstrap --resume'.",
251
- "bootstrap.awaitingAgent": "OPERA bootstrap has been routed to the agent. Complete the handoff and resume with 'trackops opera bootstrap --resume'.",
252
- "bootstrap.handoffFile": "Handoff file",
253
- "bootstrap.infer.envSourceHint": "Environment files detected",
254
- "bootstrap.noneDefined": "Not defined yet.",
255
- "bootstrap.pendingValue": "Pending definition.",
256
- "bootstrap.servicePending": "pending",
257
- "bootstrap.defaultFocus": "Complete OPERA bootstrap",
258
- "bootstrap.defaultTarget": "Target delivery pending definition",
259
- "bootstrap.blocker.missingData": "Core bootstrap data is still missing.",
260
- "bootstrap.blocker.awaitingAgent": "Waiting for the agent handoff output.",
261
- "bootstrap.history.seeded": "Seeded by OPERA bootstrap.",
262
- "bootstrap.acceptance.discovery": "Discovery questions answered.",
263
- "bootstrap.acceptance.schema": "Input/output schema defined in genesis.md.",
264
- "bootstrap.acceptance.rules": "Behavior rules documented.",
265
- "bootstrap.acceptance.plan": "Plan reviewed and accepted.",
266
- "bootstrap.acceptance.intake": "The agent generated ops/bootstrap/intake.json.",
267
- "bootstrap.acceptance.specDossier": "The agent generated ops/bootstrap/spec-dossier.md.",
268
- "bootstrap.acceptance.resume": "OPERA ingested the context and continued.",
269
- "bootstrap.acceptance.env": "Required credentials verified.",
270
- "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.",
271
275
  "bootstrap.acceptance.shape": "External shapes validated against genesis.md.",
272
276
  "bootstrap.acceptance.findings": "Findings documented.",
273
277
  "bootstrap.acceptance.sops": "SOPs documented.",
@@ -281,10 +285,10 @@
281
285
  "bootstrap.acceptance.deploy": "Deployment completed.",
282
286
  "bootstrap.acceptance.triggers": "Triggers configured.",
283
287
  "bootstrap.acceptance.smoke": "Smoke test passing.",
284
- "bootstrap.task.bootstrap.title": "Complete OPERA bootstrap",
285
- "bootstrap.task.bootstrap.summary": "Turn the installed OPERA structure into a project-specific operating model.",
286
- "bootstrap.task.bootstrap.handoffSummary": "Prepare the agent handoff so an idea or partial specification becomes structured operational context.",
287
- "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",
288
292
  "bootstrap.task.prove.summary": "Verify credentials, connectivity, and response shapes before building further.",
289
293
  "bootstrap.task.structure.title": "Structure the system",
290
294
  "bootstrap.task.structure.summary": "Document SOPs, implement tools, and capture the dependency graph.",
@@ -300,21 +304,21 @@
300
304
  "bootstrap.task.repoChangelog.summary": "Decide how CHANGELOG.md should be maintained in this project.",
301
305
  "bootstrap.task.repoGithub.title": "Review GitHub governance tasks",
302
306
  "bootstrap.task.repoGithub.summary": "Check whether repository automation or governance tasks should be enabled.",
303
- "bootstrap.field.singularDesiredOutcome": "Desired outcome",
304
- "bootstrap.field.desiredOutcome": "Desired outcome",
305
- "bootstrap.field.problemStatement": "Problem statement",
306
- "bootstrap.field.targetUser": "Target user",
307
- "bootstrap.field.decisionOwnership": "Decision ownership",
308
- "bootstrap.field.sourceOfTruth": "Source of truth",
309
- "bootstrap.field.payload": "Payload",
310
- "bootstrap.field.inputSchema": "Input schema",
311
- "bootstrap.field.outputSchema": "Output schema",
312
- "bootstrap.field.intakeJson": "intake.json file",
313
- "bootstrap.field.specDossier": "spec-dossier.md file",
314
- "bootstrap.decisionImpact": "Required to complete the OPERA bootstrap.",
315
- "bootstrap.pendingDecision.handoff": "Send the TrackOps handoff to the agent",
316
- "bootstrap.pendingDecision.handoffImpact": "Required so the agent can generate intake.json and spec-dossier.md.",
317
- "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",
318
322
  "bootstrap.finding.genesisConflictDetail": "TrackOps detected a non-template genesis.md and stopped automatic overwrite.",
319
323
  "bootstrap.finding.genesisConflictImpact": "Bootstrap cannot be completed until the existing constitution is reviewed.",
320
324
 
@@ -401,28 +405,50 @@
401
405
  "ui.execution.stop": "Stop",
402
406
  "ui.execution.output": "Command output",
403
407
  "ui.execution.outputPlaceholder": "# Run a command to see its output here...",
404
- "ui.execution.started": "Started",
405
- "ui.execution.running": "Running...",
406
- "ui.execution.quick.status": "status",
407
- "ui.execution.quick.sync": "sync docs",
408
- "ui.execution.quick.next": "next tasks",
409
- "ui.execution.quick.repo": "refresh repo",
410
- "ui.settings.workspaceTitle": "Workspace",
411
- "ui.settings.workspaceRoot": "Workspace root",
412
- "ui.settings.appRoot": "App root",
413
- "ui.settings.opsRoot": "Ops root",
414
- "ui.settings.envTitle": "Environment",
415
- "ui.settings.envHealthyBadge": "Ready",
416
- "ui.settings.envMissingBadge": "{count} missing",
417
- "ui.settings.envBridgeMode": "Bridge mode",
418
- "ui.settings.envRootFile": "Root .env",
419
- "ui.settings.envExampleFile": ".env.example",
420
- "ui.settings.envAppBridge": "app/.env bridge",
421
- "ui.settings.envRequiredKeys": "Required keys",
422
- "ui.settings.envPresentKeys": "Present keys",
423
- "ui.settings.envMissingKeys": "Missing keys",
424
- "ui.settings.envNoMissing": "None",
425
- "ui.settings.envLastAudit": "Last audit",
426
- "ui.settings.envSync": "Sync env",
427
- "ui.settings.envSynced": "Environment synced."
428
- }
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
+ }