coding-agent-harness 1.0.1 → 1.0.2

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 (159) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.en-US.md +14 -0
  3. package/README.md +111 -86
  4. package/README.zh-CN.md +270 -0
  5. package/SKILL.md +116 -189
  6. package/docs-release/README.md +72 -5
  7. package/docs-release/architecture/overview.md +286 -28
  8. package/docs-release/architecture/overview.zh-CN.md +288 -0
  9. package/docs-release/assets/dashboard-overview-en.png +0 -0
  10. package/docs-release/assets/harness-architecture.svg +163 -0
  11. package/docs-release/assets/harness-workflow.svg +64 -0
  12. package/docs-release/guides/agent-installation.en-US.md +214 -0
  13. package/docs-release/guides/agent-installation.md +123 -26
  14. package/docs-release/guides/document-audience-and-surfaces.en-US.md +112 -0
  15. package/docs-release/guides/document-audience-and-surfaces.md +112 -0
  16. package/docs-release/guides/full-legacy-migration-subagent-strategy.md +334 -0
  17. package/docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md +334 -0
  18. package/docs-release/guides/legacy-migration-agent-prompt.md +384 -0
  19. package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +361 -0
  20. package/docs-release/guides/migration-playbook.en-US.md +325 -0
  21. package/docs-release/guides/migration-playbook.md +329 -0
  22. package/docs-release/guides/parent-control-repository-pattern.en-US.md +252 -0
  23. package/docs-release/guides/parent-control-repository-pattern.md +252 -0
  24. package/docs-release/guides/repository-operating-models.en-US.md +196 -0
  25. package/docs-release/guides/repository-operating-models.md +196 -0
  26. package/docs-release/intl/README.md +15 -0
  27. package/docs-release/intl/de-DE.md +18 -0
  28. package/docs-release/intl/en-US.md +18 -0
  29. package/docs-release/intl/es-ES.md +18 -0
  30. package/docs-release/intl/fr-FR.md +18 -0
  31. package/docs-release/intl/ja-JP.md +18 -0
  32. package/docs-release/intl/ko-KR.md +18 -0
  33. package/docs-release/intl/zh-CN.md +18 -0
  34. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/brief.md +13 -0
  35. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/lesson_candidates.md +24 -0
  36. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/progress.md +1 -1
  37. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/task_plan.md +4 -2
  38. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/{visual_roadmap.md → visual_map.md} +9 -1
  39. package/package.json +3 -1
  40. package/references/agents-md-pattern.md +3 -3
  41. package/references/docs-directory-standard.md +47 -3
  42. package/references/external-source-intake-standard.md +75 -0
  43. package/references/harness-ledger.md +5 -3
  44. package/references/legacy-12-phase-bootstrap.md +41 -0
  45. package/references/lessons-governance.md +23 -6
  46. package/references/planning-loop.md +41 -3
  47. package/references/project-onboarding-audit.md +10 -0
  48. package/references/repo-governance-standard.md +2 -0
  49. package/references/testing-standard.md +50 -0
  50. package/references/walkthrough-closeout.md +6 -5
  51. package/scripts/check-harness.mjs +76 -35
  52. package/scripts/harness.mjs +303 -12
  53. package/scripts/lib/capability-registry.mjs +533 -0
  54. package/scripts/lib/check-profiles.mjs +510 -0
  55. package/scripts/lib/core-shared.mjs +186 -0
  56. package/scripts/lib/dashboard-data.mjs +389 -0
  57. package/scripts/lib/dashboard-workbench.mjs +217 -0
  58. package/scripts/lib/dashboard-writer.mjs +93 -2
  59. package/scripts/lib/harness-core.mjs +10 -1318
  60. package/scripts/lib/lesson-maintenance.mjs +145 -0
  61. package/scripts/lib/markdown-utils.mjs +158 -0
  62. package/scripts/lib/migration-planner.mjs +478 -0
  63. package/scripts/lib/migration-support.mjs +312 -0
  64. package/scripts/lib/task-lifecycle.mjs +755 -0
  65. package/scripts/lib/task-scanner.mjs +682 -0
  66. package/scripts/smoke-dashboard.mjs +22 -0
  67. package/scripts/test-harness.mjs +926 -14
  68. package/templates/AGENTS.md.template +41 -30
  69. package/templates/architecture/Architecture-SSoT.md +21 -0
  70. package/templates/architecture/README.md +49 -0
  71. package/templates/architecture/critical-flows.md +22 -0
  72. package/templates/architecture/local-repo-context.md +20 -0
  73. package/templates/architecture/service-catalog.md +17 -0
  74. package/templates/architecture/services/service-template.md +31 -0
  75. package/templates/architecture/system-map.md +22 -0
  76. package/templates/dashboard/assets/app-src/00-state.js +41 -0
  77. package/templates/dashboard/assets/app-src/10-router.js +76 -0
  78. package/templates/dashboard/assets/app-src/20-overview.js +235 -0
  79. package/templates/dashboard/assets/app-src/30-tasks.js +563 -0
  80. package/templates/dashboard/assets/app-src/40-modules.js +58 -0
  81. package/templates/dashboard/assets/app-src/45-review.js +128 -0
  82. package/templates/dashboard/assets/app-src/50-migration.js +169 -0
  83. package/templates/dashboard/assets/app-src/60-shared.js +61 -0
  84. package/templates/dashboard/assets/app-src/90-bindings.js +382 -0
  85. package/templates/dashboard/assets/app.css +2575 -310
  86. package/templates/dashboard/assets/app.js +1498 -307
  87. package/templates/dashboard/assets/app.manifest.json +11 -0
  88. package/templates/dashboard/assets/i18n.js +429 -44
  89. package/templates/dashboard/assets/mermaid-renderer.js +58 -8
  90. package/templates/development/README.md +52 -0
  91. package/templates/development/codebase-map.md +11 -0
  92. package/templates/development/cross-repo-debugging.md +18 -0
  93. package/templates/development/external-context/service-template.md +33 -0
  94. package/templates/development/external-source-packs/README.md +24 -0
  95. package/templates/development/external-source-packs/digest-template.md +28 -0
  96. package/templates/development/local-setup.md +16 -0
  97. package/templates/development/stubs-and-mocks.md +11 -0
  98. package/templates/integrations/README.md +40 -0
  99. package/templates/integrations/api-contract.md +42 -0
  100. package/templates/integrations/event-contract.md +46 -0
  101. package/templates/integrations/third-party/vendor-template.md +42 -0
  102. package/templates/integrations/webhook-contract.md +41 -0
  103. package/templates/planning/brief.md +32 -0
  104. package/templates/planning/lesson_candidates.md +58 -0
  105. package/templates/planning/long-running-task-contract.md +7 -0
  106. package/templates/planning/module_brief.md +25 -0
  107. package/templates/planning/module_session_prompt.md +6 -0
  108. package/templates/planning/task_plan.md +7 -5
  109. package/templates/planning/{visual_roadmap.md → visual_map.md} +24 -2
  110. package/templates/reference/docs-library-standard.md +31 -0
  111. package/templates/reference/execution-workflow-standard.md +4 -2
  112. package/templates/reference/external-source-intake-standard.md +82 -0
  113. package/templates/reference/harness-ledger-standard.md +1 -0
  114. package/templates/reference/repo-governance-standard.md +6 -4
  115. package/templates/reference/walkthrough-standard.md +2 -1
  116. package/templates/walkthrough/walkthrough-template.md +2 -2
  117. package/templates-zh-CN/AGENTS.md.template +69 -70
  118. package/templates-zh-CN/architecture/Architecture-SSoT.md +21 -0
  119. package/templates-zh-CN/architecture/README.md +51 -0
  120. package/templates-zh-CN/architecture/critical-flows.md +24 -0
  121. package/templates-zh-CN/architecture/local-repo-context.md +20 -0
  122. package/templates-zh-CN/architecture/service-catalog.md +17 -0
  123. package/templates-zh-CN/architecture/services/service-template.md +31 -0
  124. package/templates-zh-CN/architecture/system-map.md +22 -0
  125. package/templates-zh-CN/development/README.md +54 -0
  126. package/templates-zh-CN/development/codebase-map.md +11 -0
  127. package/templates-zh-CN/development/cross-repo-debugging.md +18 -0
  128. package/templates-zh-CN/development/external-context/service-template.md +33 -0
  129. package/templates-zh-CN/development/external-source-packs/README.md +24 -0
  130. package/templates-zh-CN/development/external-source-packs/digest-template.md +28 -0
  131. package/templates-zh-CN/development/local-setup.md +16 -0
  132. package/templates-zh-CN/development/stubs-and-mocks.md +11 -0
  133. package/templates-zh-CN/integrations/README.md +42 -0
  134. package/templates-zh-CN/integrations/api-contract.md +42 -0
  135. package/templates-zh-CN/integrations/event-contract.md +46 -0
  136. package/templates-zh-CN/integrations/third-party/vendor-template.md +42 -0
  137. package/templates-zh-CN/integrations/webhook-contract.md +41 -0
  138. package/templates-zh-CN/planning/brief.md +32 -0
  139. package/templates-zh-CN/planning/lesson_candidates.md +58 -0
  140. package/templates-zh-CN/planning/long-running-task-contract.md +1 -1
  141. package/templates-zh-CN/planning/module_brief.md +25 -0
  142. package/templates-zh-CN/planning/module_plan.md +2 -2
  143. package/templates-zh-CN/planning/module_session_prompt.md +4 -3
  144. package/templates-zh-CN/planning/task_plan.md +10 -4
  145. package/templates-zh-CN/planning/{visual_roadmap.md → visual_map.md} +21 -2
  146. package/templates-zh-CN/reference/docs-library-standard.md +35 -0
  147. package/templates-zh-CN/reference/execution-workflow-standard.md +9 -2
  148. package/templates-zh-CN/reference/external-source-intake-standard.md +82 -0
  149. package/templates-zh-CN/reference/harness-ledger-standard.md +5 -2
  150. package/templates-zh-CN/reference/repo-governance-standard.md +2 -0
  151. package/templates-zh-CN/reference/walkthrough-standard.md +4 -4
  152. package/templates-zh-CN/walkthrough/Closeout-SSoT.md +2 -2
  153. package/templates-zh-CN/walkthrough/walkthrough-template.md +2 -2
  154. package/templates-zh-CN/dashboard/assets/app.css +0 -399
  155. package/templates-zh-CN/dashboard/assets/app.js +0 -435
  156. package/templates-zh-CN/dashboard/assets/i18n.js +0 -47
  157. package/templates-zh-CN/dashboard/assets/markdown-reader.js +0 -116
  158. package/templates-zh-CN/dashboard/assets/mermaid-renderer.js +0 -59
  159. package/templates-zh-CN/dashboard/index.html +0 -18
@@ -1,6 +1,8 @@
1
1
  # [Project Name]
2
2
 
3
- This file is the operating contract for agents working in this repository. Keep it concise: it should route agents to the right source of truth, not replace the project documentation.
3
+ This file is the operating entry point for agents working in this repository.
4
+ Keep it as a charter and routing index. Detailed rules belong in
5
+ `docs/11-REFERENCE/`, not in this file.
4
6
 
5
7
  ## Project Profile
6
8
 
@@ -8,59 +10,66 @@ This file is the operating contract for agents working in this repository. Keep
8
10
  - Stack: [language, framework, runtime]
9
11
  - Repository shape: [single repo / monorepo / multi-repo]
10
12
  - Primary modules: [module list]
11
- - Primary users or operators: [audience]
13
+ - Default branch: [main / master / other]
12
14
 
13
15
  ## Non-Negotiable Rules
14
16
 
15
17
  1. Preserve architecture boundaries documented in `docs/11-REFERENCE/engineering-standard.md`.
16
- 2. Do not hard-code secrets, credentials, production tokens, or private endpoints.
18
+ 2. Do not commit secrets, credentials, private endpoints, or user data.
17
19
  3. Start non-trivial work with a task directory under `docs/09-PLANNING/TASKS/`.
18
20
  4. Record evidence before claiming completion.
19
- 5. Protect unrelated working-tree changes. Never revert files outside the assigned scope.
20
- 6. Keep shared ledgers and SSoT files coordinator-owned unless a lock is explicitly assigned.
21
+ 5. Protect unrelated working-tree changes; never revert files outside the assigned scope.
22
+ 6. Commit verified, meaningful work slices unless the user explicitly says not to commit.
21
23
 
22
24
  ## Reading Matrix
23
25
 
26
+ Read the smallest context that can answer the task.
27
+
24
28
  | Work Type | Read First |
25
29
  | --- | --- |
26
30
  | Architecture or core module change | `docs/11-REFERENCE/engineering-standard.md` |
27
- | Tests, smoke, or regression | `docs/11-REFERENCE/testing-standard.md` |
28
- | Execution, commit, or PR | `docs/11-REFERENCE/execution-workflow-standard.md` |
29
- | Team, multi-repo, or staged delivery | `docs/11-REFERENCE/delivery-operating-model-standard.md` and `docs/09-PLANNING/Delivery-SSoT.md` |
30
- | Repository, PR, branch, or CI work | `docs/11-REFERENCE/repo-governance-standard.md` and `docs/11-REFERENCE/ci-cd-standard.md` |
31
+ | System map, service responsibility, or external system relationship | `docs/03-ARCHITECTURE/README.md`, `docs/03-ARCHITECTURE/service-catalog.md` |
32
+ | Local development, mocks, stubs, or cross-repo debugging | `docs/04-DEVELOPMENT/README.md`, `docs/04-DEVELOPMENT/codebase-map.md` |
33
+ | API, event, webhook, SDK, or third-party contract | `docs/06-INTEGRATIONS/README.md` and the related contract file |
34
+ | Tests, smoke, or regression | `docs/11-REFERENCE/testing-standard.md`, `docs/05-TEST-QA/Regression-SSoT.md` |
35
+ | Execution, commit, PR, or release work | `docs/11-REFERENCE/execution-workflow-standard.md`, `docs/11-REFERENCE/repo-governance-standard.md`, `docs/11-REFERENCE/ci-cd-standard.md` |
36
+ | Creating or advancing a task | Current task directory under `docs/09-PLANNING/TASKS/`; use the Harness CLI if this project has it configured |
37
+ | Brief, Execution Strategy, or Visual Map | Current task `brief.md`, `execution_strategy.md`, and `visual_map.md` |
31
38
  | Long-running task | `docs/11-REFERENCE/long-running-task-standard.md` |
32
- | Adversarial review | `docs/11-REFERENCE/adversarial-review-standard.md` |
33
- | Reviewer or subagent routing | `docs/11-REFERENCE/review-routing-standard.md` |
34
- | Documentation governance | `docs/11-REFERENCE/docs-library-standard.md` |
35
- | Harness Ledger update | `docs/11-REFERENCE/harness-ledger-standard.md` |
39
+ | Reviewer, subagent, or adversarial review | `docs/11-REFERENCE/review-routing-standard.md`, `docs/11-REFERENCE/adversarial-review-standard.md` |
40
+ | Team, multi-repo, or staged delivery | `docs/11-REFERENCE/delivery-operating-model-standard.md`, `docs/09-PLANNING/Delivery-SSoT.md` |
41
+ | Module-parallel work | `docs/09-PLANNING/Module-Registry.md` and the related module plan |
42
+ | Documentation governance or Harness update | `docs/11-REFERENCE/docs-library-standard.md`, `.harness-capabilities.json` |
43
+ | External source material intake | `docs/11-REFERENCE/external-source-intake-standard.md` |
36
44
  | Regression SSoT maintenance | `docs/11-REFERENCE/regression-ssot-governance.md` |
37
- | Walkthrough, closeout, or lessons | `docs/11-REFERENCE/walkthrough-standard.md` |
45
+ | Walkthrough, closeout, or lessons | `docs/11-REFERENCE/walkthrough-standard.md`, `docs/10-WALKTHROUGH/Closeout-SSoT.md`, `docs/01-GOVERNANCE/Lessons-SSoT.md` |
38
46
  | Worktree operations | `docs/11-REFERENCE/worktree-standard.md` |
39
47
 
40
48
  ## Standard Execution Flow
41
49
 
42
50
  1. Confirm the request, scope, and affected files.
43
- 2. Create or update the task plan.
44
- 3. Choose the operating model and record it in `execution_strategy.md`.
45
- 4. Create the required worktree or record why one is unnecessary.
46
- 5. Implement only within the approved scope.
47
- 6. Run the required checks and capture evidence.
48
- 7. Complete review when required.
49
- 8. Update Feature SSoT, Delivery SSoT, Regression SSoT, Closeout SSoT, Lessons SSoT, and Harness Ledger as applicable.
50
- 9. Write the walkthrough, or record the allowed reason for skipping it.
51
- 10. Clean up worktrees after integration.
52
-
53
- ## Subagent Contract
51
+ 2. For non-trivial work, create or update the task plan before editing code.
52
+ 3. Load only the reference documents required by the Reading Matrix.
53
+ 4. Preserve existing project facts; merge new context instead of overwriting history.
54
+ 5. Use a worktree or branch when the task requires isolation or parallel work.
55
+ 6. Implement only within the approved scope.
56
+ 7. Run the relevant checks and capture evidence in the task records.
57
+ 8. Route required review and close blocking findings.
58
+ 9. Write or update the walkthrough and closeout records.
59
+ 10. Update SSoT / ledger files that the task actually touched.
60
+
61
+ ## Coordination Rules
54
62
 
55
63
  - Reviewers are read-only unless explicitly assigned a write scope.
56
- - Workers may edit only their assigned worktree, branch, and file scope.
57
- - Worker handoff must include worktree path, branch, commit SHA, checks, changed files, and residual risks.
58
- - The coordinator owns shared ledgers, final integration, and release claims unless delegated in writing.
64
+ - Workers may edit only their assigned branch, worktree, and file scope.
65
+ - Shared ledgers, registries, and SSoT files are coordinator-owned unless a lock is explicitly assigned.
66
+ - Worker handoff must include branch or worktree, changed files, checks, evidence, and residual risks.
59
67
 
60
- ## Single Sources of Truth
68
+ ## Single Sources Of Truth
61
69
 
62
70
  - Feature SSoT: `docs/09-PLANNING/Feature-SSoT.md`
63
71
  - Delivery SSoT: `docs/09-PLANNING/Delivery-SSoT.md`
72
+ - Module Registry: `docs/09-PLANNING/Module-Registry.md`
64
73
  - Regression SSoT: `docs/05-TEST-QA/Regression-SSoT.md`
65
74
  - Cadence Ledger: `docs/05-TEST-QA/Cadence-Ledger.md`
66
75
  - Lessons SSoT: `docs/01-GOVERNANCE/Lessons-SSoT.md`
@@ -79,4 +88,6 @@ This file is the operating contract for agents working in this repository. Keep
79
88
 
80
89
  ## Completion Standard
81
90
 
82
- A task is complete only when the requested change is implemented, evidence is recorded, required review findings are closed or explicitly accepted, and the relevant SSoT or ledger updates are complete.
91
+ A task is complete only when the requested change is implemented, evidence is
92
+ recorded, required reviews are resolved, and affected SSoT or ledger files are
93
+ updated.
@@ -0,0 +1,21 @@
1
+ # Architecture SSoT
2
+
3
+ Context Doc Type: architecture-ssot
4
+ Owner: project coordinator
5
+ Last Verified: unknown
6
+ Confidence: low
7
+
8
+ ## System Summary
9
+
10
+ [Describe the current repository and the larger system it participates in.]
11
+
12
+ ## Current Architecture Facts
13
+
14
+ | ID | Fact | Source Evidence | Last Verified | Confidence | Read Before |
15
+ | --- | --- | --- | --- | --- | --- |
16
+ | ARCH-001 | [fact] | [code/doc/owner note/command] | unknown | low | [path] |
17
+
18
+ ## Promotion Log
19
+
20
+ | Source Task | Promoted Fact | Destination | Decision | Date |
21
+ | --- | --- | --- | --- | --- |
@@ -0,0 +1,49 @@
1
+ # Architecture
2
+
3
+ Context Doc Type: architecture-index
4
+ Owner: project coordinator
5
+ Last Verified: unknown
6
+ Confidence: low
7
+
8
+ ## Purpose
9
+
10
+ This folder is the system-structure source of truth. It explains what the current repository is, what larger system it belongs to, and which services, flows, and decisions matter before an agent changes code.
11
+
12
+ ## Read Order
13
+
14
+ 1. `Architecture-SSoT.md`
15
+ 2. `local-repo-context.md`
16
+ 3. `system-map.md`
17
+ 4. `service-catalog.md`
18
+ 5. `critical-flows.md`
19
+ 6. `services/<service-key>.md`
20
+ 7. `decisions/ADR-*.md`
21
+
22
+ ## Boundary
23
+
24
+ - Put system structure, service responsibility, ownership, and critical flows here.
25
+ - Put payload bodies, endpoint parameters, event schemas, and SDK details in `docs/06-INTEGRATIONS/`.
26
+ - Put local setup, mocks, stubs, and cross-repo debugging notes in `docs/04-DEVELOPMENT/`.
27
+
28
+ ## Structure Contract
29
+
30
+ | File / Path | Facts to maintain | Write rule |
31
+ | --- | --- | --- |
32
+ | `Architecture-SSoT.md` | Current architecture state, key decisions, known risks | Only long-lived system facts |
33
+ | `local-repo-context.md` | This repository's role and boundary in the wider system | Say what this repo owns and does not own |
34
+ | `system-map.md` | Service/module topology, upstream/downstream relationships, deployment boundaries | Use diagrams or tables for global relationships; do not write payload details |
35
+ | `service-catalog.md` | Service index; one row per service or microservice | Add a row first, then decide whether a profile file is needed |
36
+ | `services/<service-key>.md` | One service's responsibility, data, interface summary, and read-before links | One service per file; do not mix multiple services |
37
+ | `critical-flows.md` | Critical cross-service flows | Write business/system flow, not interface field details |
38
+
39
+ ## Microservice Rule
40
+
41
+ For multi-service systems, `service-catalog.md` is the master index. Every known service should have at least one row. Create `services/<service-key>.md` for any service that affects development, debugging, integration, or task decisions in this repository.
42
+
43
+ Each `services/<service-key>.md` answers only three questions:
44
+
45
+ 1. What does this service own, including data ownership.
46
+ 2. How does it relate to this repository.
47
+ 3. Which `04-DEVELOPMENT` and `06-INTEGRATIONS` docs must an agent read before changing this repository.
48
+
49
+ Do not put interface fields, mock instructions, or temporary debugging notes in `03-ARCHITECTURE`. Those belong in `06-INTEGRATIONS` and `04-DEVELOPMENT`.
@@ -0,0 +1,22 @@
1
+ # Critical Flows
2
+
3
+ Context Doc Type: critical-flows
4
+ Owner: project coordinator
5
+ Last Verified: unknown
6
+ Confidence: low
7
+
8
+ ## Flow Index
9
+
10
+ | Flow ID | Name | Trigger | Services | Business Impact | Source Evidence | Last Verified | Confidence |
11
+ | --- | --- | --- | --- | --- | --- | --- | --- |
12
+
13
+ ## Flow Template
14
+
15
+ ```mermaid
16
+ sequenceDiagram
17
+ participant User
18
+ participant CurrentRepo
19
+ participant ExternalService
20
+ User->>CurrentRepo: request
21
+ CurrentRepo->>ExternalService: call
22
+ ```
@@ -0,0 +1,20 @@
1
+ # Local Repo Context
2
+
3
+ Context Doc Type: local-repo-context
4
+ Owner: project coordinator
5
+ Last Verified: unknown
6
+ Confidence: low
7
+
8
+ ## Responsibility
9
+
10
+ [State what this repository owns.]
11
+
12
+ ## Main Components
13
+
14
+ | Component | Path | Responsibility | Source Evidence | Last Verified | Confidence |
15
+ | --- | --- | --- | --- | --- | --- |
16
+
17
+ ## External Dependencies
18
+
19
+ | Dependency | Why It Matters | Architecture Link | Integration Link | Development Link |
20
+ | --- | --- | --- | --- | --- |
@@ -0,0 +1,17 @@
1
+ # Service Catalog
2
+
3
+ Context Doc Type: service-catalog
4
+ Owner: project coordinator
5
+ Last Verified: unknown
6
+ Confidence: low
7
+
8
+ ## Services
9
+
10
+ | Service Key | Service / Component | Owner | Repo / Path | Responsibility | Interfaces | Data Owned | Dependencies | Service Profile | Development Context | Source Pack | Contract Index | Source Evidence | Last Verified | Stale After | Confidence |
11
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
12
+
13
+ ## Boundary Rule
14
+
15
+ This catalog gives interface summaries and links only. Put payload bodies, auth rules, error codes, and event schemas in `docs/06-INTEGRATIONS/`.
16
+
17
+ Each service or microservice gets one row. If the service affects development or task decisions in this repository, add links to `services/<service-key>.md`, `docs/04-DEVELOPMENT/external-context/<service-key>.md`, and the relevant `docs/06-INTEGRATIONS/<contract>.md`.
@@ -0,0 +1,31 @@
1
+ # Service: <service-key>
2
+
3
+ Context Doc Type: service-profile
4
+ Owner: project coordinator
5
+ Last Verified: unknown
6
+ Confidence: low
7
+
8
+ ## Index Links
9
+
10
+ | Catalog Row | Development Context | Source Pack | Integration Contracts | Last Verified | Confidence |
11
+ | --- | --- | --- | --- | --- | --- |
12
+ | `docs/03-ARCHITECTURE/service-catalog.md` | `docs/04-DEVELOPMENT/external-context/<service-key>.md` | `docs/04-DEVELOPMENT/external-source-packs/<source-key>/README.md` or N/A | `docs/06-INTEGRATIONS/<contract>.md` | unknown | low |
13
+
14
+ ## Responsibility
15
+
16
+ [What this service owns.]
17
+
18
+ ## Interfaces Summary
19
+
20
+ | Interface | Direction | Contract Link | Source Evidence | Last Verified | Confidence |
21
+ | --- | --- | --- | --- | --- | --- |
22
+
23
+ ## Agent Read Before
24
+
25
+ - [architecture link]
26
+ - [development context link]
27
+ - [integration contract link]
28
+
29
+ ## Placement Rule
30
+
31
+ This file describes one service only. Do not merge multiple services, payload details, mock instructions, or temporary debugging notes into this profile.
@@ -0,0 +1,22 @@
1
+ # System Map
2
+
3
+ Context Doc Type: system-map
4
+ Owner: project coordinator
5
+ Last Verified: unknown
6
+ Confidence: low
7
+
8
+ ## Scope
9
+
10
+ [Describe the larger system boundary this repository belongs to.]
11
+
12
+ ## Mermaid Map
13
+
14
+ ```mermaid
15
+ flowchart LR
16
+ current["Current Repository"] --> external["External Service"]
17
+ ```
18
+
19
+ ## Map Evidence
20
+
21
+ | Node | Meaning | Source Evidence | Last Verified | Confidence |
22
+ | --- | --- | --- | --- | --- |
@@ -0,0 +1,41 @@
1
+ const bundle = window.__HARNESS_DASHBOARD__ || {};
2
+ const defaultLocale = window.__HARNESS_LOCALE__ || ((navigator.language || "").toLowerCase().startsWith("zh") ? "zh" : "en");
3
+ let locale = localStorage.getItem("harness.locale") || defaultLocale;
4
+ if (!window.HarnessI18n?.[locale]) locale = "en";
5
+ let labels = window.HarnessI18n?.[locale] || {};
6
+
7
+ const state = {
8
+ query: "",
9
+ taskState: "all",
10
+ taskGroupMode: "migration",
11
+ taskPageByGroup: {},
12
+ taskGroupPage: 1,
13
+ warningFilter: "all",
14
+ warningPage: 1,
15
+ renderMode: "rendered",
16
+ theme: localStorage.getItem("harness.theme") || "system",
17
+ taskLayout: localStorage.getItem("harness.taskLayout") || "list",
18
+ runtime: { mode: "static", csrfToken: "", writableActions: [] },
19
+ runtimeLoaded: false,
20
+ runtimePoller: null,
21
+ };
22
+
23
+ const taskPageSize = 25;
24
+ const taskGroupsPerPage = 8;
25
+ const warningPageSize = 18;
26
+
27
+ const taskDocTabs = [
28
+ ["brief", "brief.md"],
29
+ ["taskPlan", "task_plan.md"],
30
+ ["strategy", "execution_strategy.md"],
31
+ ["visualMap", "visual_map.md"],
32
+ ["legacyRoadmap", "visual_roadmap.md"],
33
+ ["lessonCandidates", "lesson_candidates.md"],
34
+ ["longRunningContract", "long-running-task-contract.md"],
35
+ ["progress", "progress.md"],
36
+ ["review", "review.md"],
37
+ ["findings", "findings.md"],
38
+ ["walkthrough", "__walkthrough__"],
39
+ ["references", "references/INDEX.md"],
40
+ ["artifacts", "artifacts/INDEX.md"],
41
+ ];
@@ -0,0 +1,76 @@
1
+ function t(key) {
2
+ return labels[key] || key;
3
+ }
4
+
5
+ function setLocale(nextLocale) {
6
+ locale = window.HarnessI18n?.[nextLocale] ? nextLocale : "en";
7
+ labels = window.HarnessI18n?.[locale] || {};
8
+ localStorage.setItem("harness.locale", locale);
9
+ }
10
+
11
+ function app() {
12
+ const systemTheme = window.matchMedia?.("(prefers-color-scheme: dark)").matches ? "dark" : "light";
13
+ document.documentElement.dataset.theme = state.theme === "system" ? systemTheme : state.theme;
14
+ document.documentElement.lang = locale === "zh" ? "zh-CN" : "en";
15
+ const root = document.getElementById("app");
16
+ root.innerHTML = shell();
17
+ bind();
18
+ }
19
+
20
+ function shell() {
21
+ return `<div class="visibility-shell">
22
+ <header class="hero">
23
+ <div class="hero-copy">
24
+ <p class="eyebrow">${t("eyebrow")}</p>
25
+ <h1>${escapeHtml(projectName())} ${t("projectCockpit")}</h1>
26
+ </div>
27
+ <div class="hero-actions">
28
+ ${routeLink("#/", t("overview"), "overview")}
29
+ ${routeLink("#/tasks", t("taskIndex"), "tasks")}
30
+ ${routeLink("#/review", t("reviewQueue"), "review")}
31
+ ${routeLink("#/modules", t("moduleView"), "modules")}
32
+ <button data-language-toggle>${locale === "zh" ? "EN" : "中文"}</button>
33
+ <button data-theme-toggle>${themeLabel()}</button>
34
+ </div>
35
+ </header>
36
+ ${runtimeModeBanner()}
37
+ ${renderRoute()}
38
+ <div id="drawer-overlay" class="drawer-overlay"></div>
39
+ <div id="task-drawer" class="task-drawer"></div>
40
+ </div>`;
41
+ }
42
+
43
+ function runtimeModeBanner() {
44
+ if (window.__HARNESS_WORKBENCH__ === true) return "";
45
+ return `<section class="runtime-banner">
46
+ <strong>${t("staticReadOnly")}</strong>
47
+ <span>${t("staticReadOnlyDetail")}</span>
48
+ <code>harness dev</code>
49
+ </section>`;
50
+ }
51
+
52
+ function renderRoute() {
53
+ const route = currentRoute();
54
+ if (route.name === "task") return taskDetail(route);
55
+ if (route.name === "reviewTask") return reviewWorkspace(route);
56
+ if (route.name === "review") return reviewQueue();
57
+ if (route.name === "modules") return modulesView(route.id);
58
+ if (route.name === "tasks") return taskIndex();
59
+ return overview();
60
+ }
61
+
62
+ function currentRoute() {
63
+ const hash = window.location.hash || "#/";
64
+ const parts = hash.replace(/^#\/?/, "").split("/").filter(Boolean).map(decodeURIComponent);
65
+ if (parts[0] === "tasks" && parts[1]) return { name: "task", id: parts[1], doc: parts[2] === "docs" ? parts[3] || "" : "" };
66
+ if (parts[0] === "review" && parts[1]) return { name: "reviewTask", id: parts[1] };
67
+ if (parts[0] === "review") return { name: "review" };
68
+ if (parts[0] === "modules") return { name: "modules", id: parts[1] || "" };
69
+ if (parts[0] === "tasks") return { name: "tasks" };
70
+ return { name: "overview" };
71
+ }
72
+
73
+ function routeLink(hash, text, routeName) {
74
+ const active = currentRoute().name === routeName;
75
+ return `<a class="${active ? "active" : ""}" href="${hash}">${escapeHtml(text)}</a>`;
76
+ }