@lsctech/polaris 0.3.22 → 0.3.24

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 (147) hide show
  1. package/dist/cli/adopt-assets.js +13 -0
  2. package/dist/cli/adopt-genesis.js +85 -4
  3. package/dist/cli/adopt-instructions.js +3 -3
  4. package/dist/cli/adopt-report.js +15 -1
  5. package/dist/cli/adopt-rules.js +44 -8
  6. package/dist/cli/adopt-workspace.js +2 -2
  7. package/dist/cli/adoption-inventory.js +5 -2
  8. package/dist/cli/init.js +5 -4
  9. package/dist/config/provider-detect.js +19 -2
  10. package/dist/workspace/.polaris/skills/ROUTING.md +4 -0
  11. package/dist/workspace/.polaris/skills/closeout-librarian/POLARIS.md +9 -8
  12. package/dist/workspace/.polaris/skills/docs-ingest/SKILL.md +2 -2
  13. package/dist/workspace/.polaris/skills/docs-ingest/chain.md +1 -1
  14. package/dist/workspace/.polaris/skills/docs-ingest/steps/04-place-and-link.md +5 -5
  15. package/dist/workspace/.polaris/skills/docs-ingest/steps/05-finalize-ingest.md +1 -1
  16. package/dist/workspace/.polaris/skills/docs-promote/SKILL.md +6 -6
  17. package/dist/workspace/.polaris/skills/docs-promote/chain.md +5 -5
  18. package/dist/workspace/.polaris/skills/docs-promote/steps/04-conflict-surface.md +1 -1
  19. package/dist/workspace/.polaris/skills/docs-promote/steps/06-execute-promote-deprecate.md +3 -3
  20. package/dist/workspace/{workspace/.polaris → .polaris}/skills/docs-review/SKILL.md +1 -1
  21. package/dist/workspace/{workspace/.polaris → .polaris}/skills/docs-triage/SKILL.md +1 -1
  22. package/dist/workspace/{workspace/.polaris → .polaris}/skills/docs-triage/chain.md +1 -1
  23. package/dist/workspace/.polaris/skills/polaris-analyze/SKILL.md +1 -1
  24. package/dist/workspace/.polaris/skills/polaris-analyze/chain.md +2 -2
  25. package/dist/workspace/.polaris/skills/polaris-analyze/issue-reconciliation.md +1 -1
  26. package/dist/workspace/.polaris/skills/polaris-analyze/linked-skills/repo-analysis.md +3 -4
  27. package/dist/workspace/.polaris/skills/polaris-analyze/steps/02-map-affected-code.md +2 -2
  28. package/dist/workspace/.polaris/skills/polaris-catalog/SKILL.md +5 -5
  29. package/dist/workspace/.polaris/skills/polaris-catalog/chain.md +3 -3
  30. package/dist/workspace/.polaris/skills/polaris-catalog/steps/04-classify-and-place.md +3 -3
  31. package/dist/workspace/.polaris/skills/polaris-reconcile/SKILL.md +2 -2
  32. package/dist/workspace/.polaris/skills/polaris-run/SKILL.md +2 -2
  33. package/dist/workspace/.polaris/skills/polaris-run/chain.md +17 -17
  34. package/dist/workspace/.polaris/skills/polaris-run/linked-skills/repo-analysis.md +3 -4
  35. package/dist/workspace/.polaris/skills/polaris-run/steps/01-orient-cluster.md +3 -3
  36. package/dist/workspace/.polaris/skills/polaris-run/steps/03-select-child.md +1 -1
  37. package/dist/workspace/.polaris/skills/polaris-run/steps/06-commit-and-update-linear.md +2 -2
  38. package/dist/workspace/.polaris/skills/polaris-run/steps/07-decide-continuation.md +3 -3
  39. package/dist/workspace/.polaris/skills/polaris-run/steps/08-closeout-librarian.md +1 -1
  40. package/dist/workspace/.polaris/skills/polaris-run/steps/08-final-delivery.md +2 -2
  41. package/dist/workspace/.polaris/skills/polaris-run/steps/09-final-delivery.md +1 -1
  42. package/dist/workspace/.polaris/skills/polaris-tools/README.md +1 -1
  43. package/dist/workspace/.polaris/skills/polaris-tools/SKILL.md +1 -1
  44. package/dist/workspace/POLARIS_RULES.md +169 -0
  45. package/package.json +3 -2
  46. package/dist/workspace/workspace/.polaris/roles/analyst.md +0 -38
  47. package/dist/workspace/workspace/.polaris/roles/closeout-librarian.md +0 -122
  48. package/dist/workspace/workspace/.polaris/roles/cognition-librarian.md +0 -37
  49. package/dist/workspace/workspace/.polaris/roles/finalizer.md +0 -45
  50. package/dist/workspace/workspace/.polaris/roles/foreman.md +0 -165
  51. package/dist/workspace/workspace/.polaris/roles/librarian.md +0 -74
  52. package/dist/workspace/workspace/.polaris/roles/worker.md +0 -119
  53. package/dist/workspace/workspace/.polaris/session-type +0 -1
  54. package/dist/workspace/workspace/.polaris/skills/ROUTING.md +0 -113
  55. package/dist/workspace/workspace/.polaris/skills/caveman/SKILL.md +0 -74
  56. package/dist/workspace/workspace/.polaris/skills/caveman-compress/scripts/compress.py +0 -272
  57. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/POLARIS.md +0 -46
  58. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/SKILL.md +0 -59
  59. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/chain.md +0 -116
  60. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/01-load-cluster-context.md +0 -78
  61. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/02-drift-reconciliation.md +0 -157
  62. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/03-reconcile-polaris-md.md +0 -93
  63. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/04-reconcile-summary-md.md +0 -106
  64. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/05-doc-ingestion.md +0 -114
  65. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/06-link-validation.md +0 -128
  66. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/07-yaml-linking.md +0 -95
  67. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/08-librarian-commit.md +0 -119
  68. package/dist/workspace/workspace/.polaris/skills/closeout-librarian/steps/09-sealed-result.md +0 -118
  69. package/dist/workspace/workspace/.polaris/skills/docs-ingest/SKILL.md +0 -68
  70. package/dist/workspace/workspace/.polaris/skills/docs-ingest/chain.json +0 -23
  71. package/dist/workspace/workspace/.polaris/skills/docs-ingest/chain.md +0 -149
  72. package/dist/workspace/workspace/.polaris/skills/docs-ingest/steps/01-orient-ingest.md +0 -85
  73. package/dist/workspace/workspace/.polaris/skills/docs-ingest/steps/02-classify-batch.md +0 -87
  74. package/dist/workspace/workspace/.polaris/skills/docs-ingest/steps/03-conflict-check.md +0 -66
  75. package/dist/workspace/workspace/.polaris/skills/docs-ingest/steps/04-place-and-link.md +0 -77
  76. package/dist/workspace/workspace/.polaris/skills/docs-ingest/steps/05-finalize-ingest.md +0 -49
  77. package/dist/workspace/workspace/.polaris/skills/docs-promote/SKILL.md +0 -79
  78. package/dist/workspace/workspace/.polaris/skills/docs-promote/chain.json +0 -25
  79. package/dist/workspace/workspace/.polaris/skills/docs-promote/chain.md +0 -80
  80. package/dist/workspace/workspace/.polaris/skills/docs-promote/steps/01-orient-promote.md +0 -53
  81. package/dist/workspace/workspace/.polaris/skills/docs-promote/steps/02-review-candidates.md +0 -51
  82. package/dist/workspace/workspace/.polaris/skills/docs-promote/steps/03-read-linked-code.md +0 -50
  83. package/dist/workspace/workspace/.polaris/skills/docs-promote/steps/04-conflict-surface.md +0 -65
  84. package/dist/workspace/workspace/.polaris/skills/docs-promote/steps/05-await-approval.md +0 -61
  85. package/dist/workspace/workspace/.polaris/skills/docs-promote/steps/06-execute-promote-deprecate.md +0 -65
  86. package/dist/workspace/workspace/.polaris/skills/docs-promote/steps/07-finalize-promote.md +0 -44
  87. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/SKILL.md +0 -94
  88. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/chain.json +0 -20
  89. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/chain.md +0 -105
  90. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/issue-reconciliation.md +0 -149
  91. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/issue-template.md +0 -133
  92. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/linked-skills/repo-analysis.md +0 -55
  93. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/steps/01-fetch-and-orient.md +0 -79
  94. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/steps/02-map-affected-code.md +0 -58
  95. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/steps/03-assess-issue.md +0 -58
  96. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/steps/04-blocker-check.md +0 -60
  97. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/steps/05-create-cluster-plan.md +0 -197
  98. package/dist/workspace/workspace/.polaris/skills/polaris-analyze/steps/06-final-report.md +0 -60
  99. package/dist/workspace/workspace/.polaris/skills/polaris-catalog/SKILL.md +0 -91
  100. package/dist/workspace/workspace/.polaris/skills/polaris-catalog/chain.json +0 -22
  101. package/dist/workspace/workspace/.polaris/skills/polaris-catalog/chain.md +0 -85
  102. package/dist/workspace/workspace/.polaris/skills/polaris-catalog/steps/01-orient-catalog.md +0 -92
  103. package/dist/workspace/workspace/.polaris/skills/polaris-catalog/steps/02-reconcile-polaris-md.md +0 -33
  104. package/dist/workspace/workspace/.polaris/skills/polaris-catalog/steps/03-reconcile-summary-md.md +0 -70
  105. package/dist/workspace/workspace/.polaris/skills/polaris-catalog/steps/04-classify-and-place.md +0 -117
  106. package/dist/workspace/workspace/.polaris/skills/polaris-catalog/steps/05-catalog-commit.md +0 -94
  107. package/dist/workspace/workspace/.polaris/skills/polaris-medic/SKILL.md +0 -52
  108. package/dist/workspace/workspace/.polaris/skills/polaris-medic/chain.md +0 -111
  109. package/dist/workspace/workspace/.polaris/skills/polaris-medic/steps/01-orient-medic.md +0 -75
  110. package/dist/workspace/workspace/.polaris/skills/polaris-medic/steps/02-diagnose.md +0 -79
  111. package/dist/workspace/workspace/.polaris/skills/polaris-medic/steps/03-repair.md +0 -64
  112. package/dist/workspace/workspace/.polaris/skills/polaris-medic/steps/04-validate.md +0 -66
  113. package/dist/workspace/workspace/.polaris/skills/polaris-medic/steps/05-create-chart.md +0 -85
  114. package/dist/workspace/workspace/.polaris/skills/polaris-medic/steps/06-closeout.md +0 -86
  115. package/dist/workspace/workspace/.polaris/skills/polaris-reconcile/SKILL.md +0 -75
  116. package/dist/workspace/workspace/.polaris/skills/polaris-reconcile/chain.json +0 -20
  117. package/dist/workspace/workspace/.polaris/skills/polaris-reconcile/chain.md +0 -67
  118. package/dist/workspace/workspace/.polaris/skills/polaris-reconcile/steps/01-orient-reconcile.md +0 -82
  119. package/dist/workspace/workspace/.polaris/skills/polaris-reconcile/steps/02-reconcile-polaris-md.md +0 -95
  120. package/dist/workspace/workspace/.polaris/skills/polaris-reconcile/steps/03-reconcile-summary-md.md +0 -108
  121. package/dist/workspace/workspace/.polaris/skills/polaris-reconcile/steps/04-reconcile-commit.md +0 -88
  122. package/dist/workspace/workspace/.polaris/skills/polaris-run/SKILL.md +0 -135
  123. package/dist/workspace/workspace/.polaris/skills/polaris-run/chain.json +0 -19
  124. package/dist/workspace/workspace/.polaris/skills/polaris-run/chain.md +0 -298
  125. package/dist/workspace/workspace/.polaris/skills/polaris-run/execution-adapter.md +0 -34
  126. package/dist/workspace/workspace/.polaris/skills/polaris-run/linked-skills/repo-analysis.md +0 -58
  127. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/01-orient-cluster.md +0 -96
  128. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/02-prepare-branch.md +0 -53
  129. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/03-select-child.md +0 -63
  130. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/04-execute-child.md +0 -75
  131. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/05-validate-child.md +0 -57
  132. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/06-commit-and-update-linear.md +0 -74
  133. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/07-decide-continuation.md +0 -89
  134. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/08-closeout-librarian.md +0 -146
  135. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/08-final-delivery.md +0 -91
  136. package/dist/workspace/workspace/.polaris/skills/polaris-run/steps/09-final-delivery.md +0 -104
  137. package/dist/workspace/workspace/.polaris/skills/polaris-tools/README.md +0 -63
  138. package/dist/workspace/workspace/.polaris/skills/polaris-tools/SKILL.md +0 -94
  139. package/dist/workspace/workspace/.polaris/skills/polaris-tools/tools.js +0 -191
  140. package/dist/workspace/workspace/smartdocs/architecture/.gitkeep +0 -0
  141. package/dist/workspace/workspace/smartdocs/audits/.gitkeep +0 -0
  142. package/dist/workspace/workspace/smartdocs/decisions/.gitkeep +0 -0
  143. package/dist/workspace/workspace/smartdocs/doctrine/active/.gitkeep +0 -0
  144. package/dist/workspace/workspace/smartdocs/runtime/.gitkeep +0 -0
  145. package/dist/workspace/workspace/smartdocs/specs/active/.gitkeep +0 -0
  146. package/dist/workspace/workspace/smartdocs/specs/archive/.gitkeep +0 -0
  147. /package/dist/workspace/{workspace/.polaris → .polaris}/skills/docs-review/chain.md +0 -0
@@ -1,133 +0,0 @@
1
- ---
2
- name: polaris-linear-issue-template
3
- description: Canonical Linear issue template for Polaris implementation issues. Use for both IMPLEMENT parent issues and child implementation issues.
4
- ---
5
-
6
- # Canonical Polaris Linear Issue Template
7
-
8
- All implementation issues created by the `polaris-analyze` skill must use this exact structure.
9
- Sections must appear in this order with these exact `##` headers.
10
-
11
- ## Why canonical format matters
12
-
13
- The Polaris runtime parses issue bodies to derive `allowed_scope` and `validation_commands`
14
- for worker packets. Non-canonical section names (e.g. "Implementation scope", "Expected code areas")
15
- cause `allowed_scope` to be empty, which triggers the preflight gate and halts execution.
16
-
17
- ---
18
-
19
- ## Template
20
-
21
- ```markdown
22
- ## Objective
23
- Short statement of what this issue accomplishes.
24
-
25
- ## Context
26
- Why this issue exists. Include relevant bug, PR, cluster, or doctrine context.
27
- Link to the ANALYZE source issue and any related issues.
28
-
29
- ## Goal
30
- Specific implementation outcome.
31
-
32
- ## Scope
33
- Machine-readable list of allowed paths or areas. Use explicit repo paths or globs.
34
-
35
- - src/loop/**
36
- - src/finalize/**
37
- - src/cluster-state/**
38
- - src/loop/parent.test.ts
39
-
40
- ## Acceptance Criteria
41
-
42
- - [ ] Observable completion requirement 1
43
- - [ ] Observable completion requirement 2
44
- - [ ] Tests pass
45
-
46
- ## Validation
47
-
48
- Commands that must be run:
49
-
50
- - npm run build
51
- - npm test
52
- - npx vitest run src/loop src/finalize src/cluster-state
53
-
54
- ## Ordering
55
-
56
- Dependencies or sequencing relative to sibling issues:
57
-
58
- - Depends on <child-id> being Done first (or "None").
59
-
60
- ## Non-goals
61
-
62
- What this issue must not change:
63
-
64
- - Do not modify <area>.
65
- - Do not change <schema/API/etc>.
66
- ```
67
-
68
- ---
69
-
70
- ## Rules
71
-
72
- ### Section names
73
-
74
- Use the headers above exactly. Do NOT use:
75
-
76
- | Non-canonical (do not use) | Canonical |
77
- |-----------------------------|-------------------|
78
- | Implementation scope | `## Scope` |
79
- | Expected code areas | `## Scope` |
80
- | Code areas | `## Scope` |
81
- | Files to change | `## Scope` |
82
- | Test commands | `## Validation` |
83
- | Verify | `## Validation` |
84
- | Requirements | `## Acceptance Criteria` |
85
- | Dependencies / Blockers | `## Ordering` |
86
- | Out of scope | `## Non-goals` |
87
- | Allowed Changes | *(merge into Scope)* |
88
-
89
- Aliases are supported by the body parser for backward compatibility, but new issues
90
- must always use the canonical header names.
91
-
92
- ### `## Scope` is required
93
-
94
- - Every implementation child issue MUST have `## Scope` with at least one path or glob.
95
- - Child issues must include their own explicit `## Scope` section (they may not omit it).
96
- - The runtime derives `allowed_scope` from the child's `## Scope` section. An empty or missing `## Scope` causes
97
- a hard preflight failure — the issue cannot be dispatched.
98
- - If scope is not yet determinable, write:
99
-
100
- ```markdown
101
- ## Scope
102
- - TBD — BLOCKED: scope missing
103
- ```
104
-
105
- Then mark the Linear issue as **Blocked** status. The blocked status prevents dispatch.
106
- Do NOT invent paths or use placeholder globs like `src/**`.
107
-
108
- ### `## Validation` is required
109
-
110
- Every implementation issue must list the commands that confirm acceptance criteria are met.
111
- Minimum: `npm run build` and `npm test`.
112
-
113
- ### Full bodies required
114
-
115
- Neither IMPLEMENT parent issues nor child issues may be title-only stubs. Every issue
116
- must include all 8 canonical sections, populated with real content.
117
-
118
- ### IMPLEMENT parents
119
-
120
- IMPLEMENT parent issues must include a cluster-wide `## Scope` section for documentation
121
- and context purposes. However, every child issue must include its own explicit `## Scope`
122
- section — children may not omit scope to inherit from the parent.
123
-
124
- ---
125
-
126
- ## Checklist before marking analysis Done
127
-
128
- - [ ] Every IMPLEMENT child has a full body (not title-only)
129
- - [ ] Every child has `## Scope` with real paths (not `TBD — BLOCKED`)
130
- - [ ] Every child has `## Validation` with runnable commands
131
- - [ ] Issues with unknown scope are marked Blocked in Linear
132
- - [ ] IMPLEMENT parent has a full body with cluster-wide `## Scope`
133
- - [ ] `clusters.json` references the IMPLEMENT parent as `source_id`
@@ -1,55 +0,0 @@
1
- ---
2
- title: repo-analysis provider linkage
3
- description: Provide targeted code intelligence when a repo-analysis provider is configured and available in the session environment.
4
- version: "1.0"
5
- ---
6
-
7
- # repo-analysis provider linkage
8
-
9
- ---
10
-
11
- ## Allowed steps
12
-
13
- - 01-fetch-and-orient
14
- - 02-map-affected-code
15
-
16
- ---
17
-
18
- ## Purpose
19
-
20
- Provide targeted code intelligence when polaris-analyze needs to understand the affected code surface.
21
-
22
- This linked-skill governs use of the configured repo-analysis provider (e.g., GitNexus). If no provider is available, the fallback path (polaris map query + ripgrep + direct file inspection) is authoritative. See `docs/Polaris/spec/provider-capabilities.md` for the full provider model.
23
-
24
- ---
25
-
26
- ## Allowed scope
27
-
28
- - Check configured provider availability at session start
29
- - Query specific files, symbols, or concepts relevant to the issue scope
30
- - Run impact analysis on symbols mentioned in the issue
31
- - Check provider index freshness and trigger refresh if stale
32
- - Report execution flows relevant to the issue
33
-
34
- ---
35
-
36
- ## Forbidden scope
37
-
38
- - Do not perform broad graph dumps or full-repo reports
39
- - Do not replace direct repository inspection
40
- - Do not invoke outside allowed steps
41
- - Do not assume a specific provider product is present — check availability first
42
-
43
- ---
44
-
45
- ## Provider detection
46
-
47
- At step 01, check `polaris.config.json` for `providers.repoAnalysis.preferred`.
48
- If a provider is configured and available in the session environment: use it.
49
- If unavailable or not configured: note `repo_analysis_status: not-configured` in artifact and proceed with fallback.
50
-
51
- ---
52
-
53
- ## Invocation note
54
-
55
- Conditional. Invoke when the issue references specific files, symbols, or flows that benefit from graph context. When the provider is unavailable, the fallback path runs instead — the session continues either way.
@@ -1,79 +0,0 @@
1
- ---
2
- name: polaris-analyze-step-01-fetch-and-orient
3
- description: Generate run_id, emit run-start telemetry, fetch the Linear issue and check repo-analysis provider availability in parallel.
4
- ---
5
-
6
- # Step 01 — Fetch and orient
7
-
8
- ## Purpose
9
-
10
- Load the issue state, confirm the repo index is current, and establish governed session context before any inspection.
11
-
12
- ## Scope declarations
13
-
14
- ```yaml
15
- allowed_files:
16
- - .polaris/skills/polaris-analyze/SKILL.md
17
- - .polaris/skills/polaris-analyze/chain.md
18
- - .taskchain_artifacts/polaris-analyze/current-state.json
19
- allowed_routes:
20
- - CLAUDE.md
21
- - docs/Polaris/spec/polaris-implementation-plan.md
22
- - .polaris/skills/polaris-analyze/chain.md
23
- allowed_skills:
24
- - repo-analysis
25
- expected_evidence:
26
- - run_id generated
27
- - run-start telemetry emitted
28
- - Linear issue fetched
29
- - repo-analysis provider status checked
30
- - analysis target and context recorded
31
- stop_rules:
32
- - run-start telemetry write fails
33
- - issue missing or inaccessible
34
- - issue is already Done or Cancelled
35
- ```
36
-
37
- ## Actions
38
-
39
- 0. **Generate `run_id`** — pure local computation:
40
- - Format: `polaris-analyze-<slug>-<date>-<seq>` (see `chain.md` for format rules)
41
- - For resumed sessions, read the prior `run_id` from current-state.json first.
42
-
43
- 1. **Emit `run-start` telemetry** — first I/O action:
44
- ```bash
45
- mkdir -p .taskchain_artifacts/polaris-analyze/runs/<run-id>
46
- echo '{"event":"run-start","run_id":"<run-id>","prior_run_id":"<prior or null>","timestamp":"<ISO>"}' \
47
- >> .taskchain_artifacts/polaris-analyze/runs/<run-id>/telemetry.jsonl
48
- ```
49
- If this write fails: halt.
50
-
51
- 2. Run both of the following **in the same turn** (independent, parallelizable):
52
- - Fetch the Linear issue by ID. Read: title, description, labels, state, priority, existing child issues, blocking relationships.
53
- - If already Done or Cancelled: report and stop.
54
- - Check `polaris.config.json` for `providers.repoAnalysis.preferred`.
55
- - If a provider is configured and available in the session environment:
56
- - Check provider index freshness. If stale: attempt refresh per provider's documented mechanism.
57
- - Record `repo_analysis_status: available` in artifact.
58
- - If not configured or unavailable:
59
- - Note: no repo-analysis provider available — polaris map query + direct inspection will be used in step 02.
60
- - Record `repo_analysis_status: not-configured` or `unavailable` accordingly.
61
-
62
- ## Artifact update
63
-
64
- Update `.taskchain_artifacts/polaris-analyze/current-state.json`:
65
- - `run_id: <generated>`
66
- - `cluster_id: <issue ID>`
67
- - `skill: polaris-analyze`
68
- - `artifact_dir: ".taskchain_artifacts/polaris-analyze"`
69
- - `status: running`
70
- - `parent_issue: <ID — title>`
71
- - `repo_analysis_status: available | unavailable | not-configured`
72
- - `current_step_id: 01-fetch-and-orient`
73
- - `started_at: <timestamp>`
74
-
75
- Emit `step-complete` for `01-fetch-and-orient` to telemetry JSONL.
76
-
77
- ## Next step
78
-
79
- 02-map-affected-code
@@ -1,58 +0,0 @@
1
- ---
2
- name: polaris-analyze-step-02-map-affected-code
3
- description: Use the configured repo-analysis provider (if available) or the fallback path to map the files, symbols, and execution flows affected by the issue scope.
4
- ---
5
-
6
- # Step 02 — Map affected code
7
-
8
- ## Purpose
9
-
10
- Identify the files, symbols, and execution flows relevant to the issue before assessing feasibility or decomposition.
11
-
12
- ## Scope declarations
13
-
14
- ```yaml
15
- allowed_files:
16
- - files named in Linear issue
17
- - nearest POLARIS.md or INSTRUCTIONS.md for named paths
18
- - repo-analysis provider query results for issue concepts (when provider is available)
19
- allowed_routes:
20
- - CLAUDE.md
21
- - .polaris/skills/polaris-analyze/chain.md
22
- allowed_skills:
23
- - repo-analysis
24
- expected_evidence:
25
- - affected files and symbols listed
26
- - impact and execution-flow evidence recorded
27
- - unknown surfaces called out
28
- stop_rules:
29
- - issue has no mappable code surface
30
- - repo-analysis provider result is stale and cannot be refreshed (only when provider is in use; if unavailable use fallback)
31
- - mapping requires broad unrelated traversal
32
- ```
33
-
34
- ## Actions
35
-
36
- 1. Check `repo_analysis_status` from the step 01 artifact.
37
- 2. **If provider is available:** use it for targeted inspection only — query concepts relevant to the issue scope. Use impact analysis and context queries for specific symbols mentioned in the issue. Do not summarize the whole repo.
38
- 3. **If provider is unavailable (fallback path):**
39
- - Use `npm run polaris -- map query <path>` for route/domain/taskchain context on affected files
40
- - Use `rg <symbol>` for symbol and pattern location across the repo
41
- - Use direct file inspection for implementation details
42
- - The fallback path is always sufficient to complete the analysis.
43
- 4. Always run `npm run polaris -- map query <path>` for each affected file — it provides Polaris-specific routing context regardless of whether a provider is also in use.
44
- 5. Inspect only files relevant to the issue scope.
45
- 6. Record the files and execution flows inspected.
46
-
47
- ## Artifact update
48
-
49
- Update `.taskchain_artifacts/polaris-analyze/current-state.json`:
50
- - `files_inspected: [<list of files/flows>]`
51
- - `current_step_id: 02-map-affected-code`
52
- - `updated_at: <timestamp>`
53
-
54
- Emit `step-complete` for `02-map-affected-code` to telemetry JSONL.
55
-
56
- ## Next step
57
-
58
- 03-assess-issue
@@ -1,58 +0,0 @@
1
- ---
2
- name: polaris-analyze-step-03-assess-issue
3
- description: Classify the issue into one of five outcomes based on Linear state and repo inspection results.
4
- ---
5
-
6
- # Step 03 — Assess issue
7
-
8
- ## Purpose
9
-
10
- Determine whether the issue is executable, already satisfied, blocked, ambiguous, or needs splitting before planning clusters.
11
-
12
- ## Scope declarations
13
-
14
- ```yaml
15
- allowed_files:
16
- - Linear issue description and comments
17
- - affected-code map from step 02
18
- - direct file snippets needed to verify claims
19
- allowed_routes:
20
- - CLAUDE.md
21
- - docs/Polaris/spec/polaris-implementation-plan.md
22
- - .polaris/skills/polaris-analyze/chain.md
23
- expected_evidence:
24
- - issue classified as one of five outcomes
25
- - evidence supports classification
26
- - recommended next action recorded
27
- stop_rules:
28
- - claims cannot be verified
29
- - acceptance criteria are ambiguous without user input
30
- - assessment depends on external state unavailable to this run
31
- ```
32
-
33
- ## Actions
34
-
35
- Determine one of the following outcomes:
36
-
37
- | Outcome | Condition |
38
- |---|---|
39
- | **Already satisfied** | Repo already implements what the issue describes |
40
- | **Needs cluster plan** | Clear implementation work can be decomposed into executable clusters |
41
- | **Needs doctrine clarification** | Issue is ambiguous or conflicts with existing architecture |
42
- | **Blocked** | A prerequisite issue or condition is unmet |
43
- | **Should be split** | Issue spans multiple unrelated concerns |
44
-
45
- Report the outcome with evidence before advancing to step 04.
46
-
47
- ## Artifact update
48
-
49
- Update `.taskchain_artifacts/polaris-analyze/current-state.json`:
50
- - `outcome: <already-satisfied | needs-cluster-plan | needs-doctrine-clarification | blocked | should-be-split>`
51
- - `current_step_id: 03-assess-issue`
52
- - `updated_at: <timestamp>`
53
-
54
- Emit `step-complete` for `03-assess-issue` to telemetry JSONL.
55
-
56
- ## Next step
57
-
58
- 04-blocker-check
@@ -1,60 +0,0 @@
1
- ---
2
- name: polaris-analyze-step-04-blocker-check
3
- description: Halt if the issue is blocked or non-executable; advance to cluster planning only if outcome is needs-cluster-plan.
4
- ---
5
-
6
- # Step 04 — Blocker check
7
-
8
- ## Purpose
9
-
10
- Stop forward execution if the issue cannot proceed. Only `needs-cluster-plan` advances to step 05.
11
-
12
- ## Scope declarations
13
-
14
- ```yaml
15
- allowed_files:
16
- - Linear issue relations and labels
17
- - assessment output from step 03
18
- allowed_routes:
19
- - CLAUDE.md
20
- - .polaris/skills/polaris-analyze/chain.md
21
- expected_evidence:
22
- - blockers and unblock conditions listed
23
- - safe continuation decision recorded
24
- stop_rules:
25
- - blocking dependency exists
26
- - outcome is not needs-cluster-plan
27
- ```
28
-
29
- ## Actions
30
-
31
- **If outcome is `blocked`:**
32
- 1. Add a comment to the parent issue explaining the unblock condition.
33
- 2. Apply a blocked label if available.
34
- 3. Halt. Do not advance to step 05.
35
-
36
- **If outcome is `already-satisfied`, `needs-doctrine-clarification`, or `should-be-split`:**
37
- 1. Produce the appropriate report describing the finding and recommended next action.
38
- 2. Do not create cluster plans or child issues.
39
- 3. Halt.
40
-
41
- **If outcome is `needs-cluster-plan`:** advance to step 05.
42
-
43
- ## Artifact update
44
-
45
- If halting:
46
- - `status: blocked | halted`
47
- - `current_step_id: 04-blocker-check`
48
- - `next_step: halted`
49
- - `updated_at: <timestamp>`
50
-
51
- If advancing:
52
- - `current_step_id: 04-blocker-check`
53
- - `next_step: 05-create-cluster-plan`
54
- - `updated_at: <timestamp>`
55
-
56
- Emit `step-complete` for `04-blocker-check` to telemetry JSONL.
57
-
58
- ## Next step
59
-
60
- 05-create-cluster-plan (if `needs-cluster-plan`), or halted
@@ -1,197 +0,0 @@
1
- ---
2
- name: polaris-analyze-step-05-create-cluster-plan
3
- description: Create ordered child issues in the tracker (if tracker-backed) and generate a local clusters.json artifact for polaris-run to consume.
4
- ---
5
-
6
- # Step 05 — Create cluster plan
7
-
8
- ## Purpose
9
-
10
- Produce an ordered execution plan that polaris-run can execute without ambiguity. Always generate a local `clusters.json` artifact. For tracker-backed workflows, also create Linear child issues.
11
-
12
- ## Scope declarations
13
-
14
- ```yaml
15
- allowed_files:
16
- - assessment output from steps 03-04
17
- - .polaris/clusters/<source-id>/clusters.json
18
- - docs/ (for any analysis docs produced)
19
- - Linear project/team metadata
20
- allowed_routes:
21
- - CLAUDE.md
22
- - docs/Polaris/spec/polaris-implementation-plan.md
23
- - .polaris/skills/polaris-analyze/chain.md
24
- expected_evidence:
25
- - clusters.json written to .polaris/clusters/<implement-parent-id>/clusters.json
26
- - Linear IMPLEMENT parent issue created under the ANALYZE issue (tracker-backed)
27
- - Linear child issues created under the IMPLEMENT parent (tracker-backed) or task list updated (trackerless)
28
- - execution ordering is unambiguous
29
- - no source code changes made
30
- stop_rules:
31
- - cluster boundary is not evidence-backed
32
- - would require source code changes to produce the plan
33
- - blocked parent should not receive cluster plan
34
- ```
35
-
36
- ## Hard rules
37
-
38
- - No source code (`src/`, tests, config) may be created or modified in this step.
39
- - Cluster plans are analysis artifacts only.
40
- - If source code changes are needed to plan: note them as findings in the plan — do not make them.
41
-
42
- ## Actions
43
-
44
- ### 1. Design execution clusters
45
-
46
- Group the work into executable clusters. Each cluster maps to one polaris-run session.
47
-
48
- Ordering rules:
49
- - Clusters with no dependencies execute first.
50
- - No forward dependencies within a cluster.
51
- - Children within a cluster execute in ascending numeric/dependency order.
52
- - Analyze-type children must precede implement-type children in mixed clusters.
53
-
54
- Each child must have:
55
- - `session_type`: `analyze` | `implement`
56
- - `blockedBy`: list of child IDs that must be Done first (empty list if none)
57
- - A well-scoped Linear issue body (see below) for tracker-backed workflows
58
-
59
- ### 2. Create Linear IMPLEMENT parent issue (tracker-backed only)
60
-
61
- Before creating any child issue, create or reuse a separate Linear IMPLEMENT parent issue:
62
- - Title: `IMPLEMENT: <slug>`
63
- - Parent: the ANALYZE source issue that produced this cluster plan
64
- - Purpose: hold executable implementation children for `polaris-run`
65
-
66
- If a matching IMPLEMENT parent already exists under the ANALYZE issue, update/refine it instead of duplicating it.
67
-
68
- Children must be created under the IMPLEMENT parent, not under the ANALYZE issue.
69
-
70
- **The IMPLEMENT parent MUST have a full body using the canonical format.** Title-only stubs are not allowed. Use:
71
-
72
- ```text
73
- ## Objective
74
- One sentence. What this cluster accomplishes when complete.
75
-
76
- ## Context
77
- Why this cluster was created. Link to ANALYZE source issue.
78
-
79
- ## Goal
80
- The specific implementation outcome for the entire cluster.
81
-
82
- ## Scope
83
- Cluster-wide allowed paths or globs for documentation purposes. Each child must include its own explicit ## Scope.
84
- - <path-or-glob>
85
- - ...
86
-
87
- ## Acceptance Criteria
88
- - Verifiable conditions for the cluster as a whole.
89
-
90
- ## Validation
91
- - <command>
92
- - ...
93
-
94
- ## Ordering
95
- Dependencies relative to other IMPLEMENT clusters, if any.
96
-
97
- ## Non-goals
98
- What the cluster must not change.
99
- ```
100
-
101
- ### 3. Write clusters.json
102
-
103
- Always write to `.polaris/clusters/<implement-parent-id>/clusters.json`.
104
-
105
- Set `clusters.json` `source_id` to the IMPLEMENT parent issue ID, not the ANALYZE issue ID. Set `analyze_source_id` to the ANALYZE issue ID for traceability.
106
-
107
- ```json
108
- {
109
- "source_id": "<Linear IMPLEMENT parent issue ID>",
110
- "analyze_source_id": "<Linear ANALYZE issue ID>",
111
- "source_type": "linear",
112
- "created_at": "<ISO timestamp>",
113
- "clusters": [
114
- {
115
- "cluster_id": "cluster-01",
116
- "children": [
117
- {
118
- "id": "<Linear child issue ID or planned ID>",
119
- "title": "<child title>",
120
- "session_type": "analyze | implement",
121
- "blockedBy": []
122
- }
123
- ]
124
- }
125
- ]
126
- }
127
- ```
128
-
129
- For trackerless workflows (`source_type: "local"`), IDs are locally generated slugs. polaris-run reads from clusters.json rather than Linear.
130
-
131
- ### 4. Create Linear child issues (tracker-backed only)
132
-
133
- **Before creating any child:**
134
- - Check all existing child issues.
135
- - If a matching child already exists, update/refine it — do not duplicate.
136
- - Confirm the child parent is the IMPLEMENT parent issue.
137
-
138
- **Every child issue MUST have a full body. Title-only stubs are not allowed.**
139
-
140
- **Canonical child issue body format (use this exactly):**
141
-
142
- ```text
143
- ## Objective
144
- One sentence. What this child achieves when complete.
145
-
146
- ## Context
147
- Why this child exists. Include relevant bug, PR, cluster, or doctrine context.
148
-
149
- ## Goal
150
- Specific implementation outcome for this child.
151
-
152
- ## Scope
153
- Machine-readable list of allowed paths or globs. Use explicit repo paths.
154
- - src/loop/**
155
- - src/finalize/**
156
-
157
- ## Acceptance Criteria
158
- - Verifiable condition 1
159
- - Verifiable condition 2
160
-
161
- ## Validation
162
- - npm run build
163
- - npm test
164
- - npx vitest run <relevant paths>
165
-
166
- ## Ordering
167
- - List of sibling child IDs this child depends on (or "None").
168
-
169
- ## Non-goals
170
- - What this child must not change.
171
- ```
172
-
173
- **Critical rules for `## Scope`:**
174
-
175
- - Use the header `## Scope` exactly — not "Implementation scope", "Expected code areas", "Files", or any other variant. Aliases exist for backward compatibility only; new issues must use `## Scope`.
176
- - List explicit repo paths or globs, one per bullet.
177
- - If scope is not yet determinable, write:
178
- ```markdown
179
- ## Scope
180
- - TBD — BLOCKED: scope missing
181
- ```
182
- and mark the Linear issue as **Blocked** status. Do NOT invent paths. A blocked issue will not be dispatched by polaris-run.
183
- - Do not omit the `## Scope` section. A missing scope section causes a hard preflight failure at dispatch time.
184
-
185
- ## Artifact update
186
-
187
- Update `.taskchain_artifacts/polaris-analyze/current-state.json`:
188
- - `clusters_file: ".polaris/clusters/<implement-parent-id>/clusters.json"`
189
- - `child_issues: [<ID — title>, ...]`
190
- - `current_step_id: 05-create-cluster-plan`
191
- - `updated_at: <timestamp>`
192
-
193
- Emit `step-complete` for `05-create-cluster-plan` to telemetry JSONL.
194
-
195
- ## Next step
196
-
197
- 06-final-report