@blxzer/cursor-trellis 0.4.0 → 0.4.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.
- package/CHANGELOG.md +42 -2
- package/README.md +7 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +13 -1
- package/dist/commands/update.js.map +1 -1
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +2 -1
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/workflow.d.ts +7 -0
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +33 -42
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/constants/paths.d.ts +4 -0
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +4 -0
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.4.1.json +9 -0
- package/dist/templates/common/{skills/check.md → bundled-skills/cstl-check/SKILL.md} +56 -8
- package/dist/templates/common/bundled-skills/cstl-check/references/fowler-12-smells.md +28 -0
- package/dist/templates/common/bundled-skills/cstl-cursor2plus-setup/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/cstl-handoff/SKILL.md +117 -0
- package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/hooks-and-settings.md +2 -2
- package/dist/templates/common/bundled-skills/cstl-meta/references/platform-files/overview.md +1 -1
- package/dist/templates/common/bundled-skills/cstl-micro-grill/SKILL.md +6 -0
- package/dist/templates/common/commands/continue.md +1 -1
- package/dist/templates/common/skills/brainstorm.md +17 -2
- package/dist/templates/cursor/agents/cstl-check.md +16 -2
- package/dist/templates/cursor/agents/cstl-implement.md +1 -1
- package/dist/templates/cursor/agents/cstl-research.md +1 -1
- package/dist/templates/cursor/commands/cursor2plus-setup.md +1 -1
- package/dist/templates/cursor/commands/handoff.md +99 -0
- package/dist/templates/cursor/rules/cstl-cursor-modes.mdc +2 -2
- package/dist/templates/cursor/rules/retrieval-routing.mdc +1 -1
- package/dist/templates/markdown/agents.md +30 -2
- package/dist/templates/markdown/{spec/guides → framework}/cursor-native-modes-guide.md.txt +2 -2
- package/dist/templates/markdown/{spec/guides → framework}/cursor-subagent-policy.md.txt +1 -1
- package/dist/templates/markdown/framework/dogfood-only-surfaces.md.txt +31 -0
- package/dist/templates/markdown/framework/index.md.txt +27 -0
- package/dist/templates/markdown/framework/internal-skills-cursor-reachability.md.txt +44 -0
- package/dist/templates/markdown/framework/prd-grill-frontier.md.txt +83 -0
- package/dist/templates/markdown/{spec/guides → framework}/verification-strength-guide.md.txt +2 -2
- package/dist/templates/markdown/index.d.ts +22 -10
- package/dist/templates/markdown/index.d.ts.map +1 -1
- package/dist/templates/markdown/index.js +70 -11
- package/dist/templates/markdown/index.js.map +1 -1
- package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +1 -1
- package/dist/templates/markdown/spec/guides/index.md.txt +5 -13
- package/dist/templates/markdown/spec/guides/prototype-guide.md.txt +10 -10
- package/dist/templates/markdown/spec/guides/test-discipline-guide.md.txt +1 -1
- package/dist/templates/shared-hooks/session-start.py +1 -1
- package/dist/templates/trellis/CONTEXT.md +53 -0
- package/dist/templates/trellis/config.yaml +1 -1
- package/dist/templates/trellis/docs/adr/README.md +21 -0
- package/dist/templates/trellis/index.d.ts +2 -0
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +3 -0
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/local/README.md +2 -2
- package/dist/templates/trellis/scripts/common/artifact_locale.py +16 -0
- package/dist/templates/trellis/scripts/common/parent_orchestration.py +1 -1
- package/dist/templates/trellis/scripts/common/task_store.py +7 -5
- package/dist/templates/trellis/scripts/common/test_observable_defaults.py +10 -4
- package/dist/templates/trellis/scripts/cursor_retrieval_probe_prompt.md +4 -5
- package/dist/templates/trellis/tasks/locale/en/default-prd.md +8 -0
- package/dist/templates/trellis/tasks/locale/zh/default-prd.md +8 -0
- package/dist/templates/trellis/workflow.md +17 -11
- package/dist/utils/manifest-prune.d.ts.map +1 -1
- package/dist/utils/manifest-prune.js +7 -0
- package/dist/utils/manifest-prune.js.map +1 -1
- package/dist/utils/retrieval-execution-telemetry.js +1 -1
- package/dist/utils/retrieval-execution-telemetry.js.map +1 -1
- package/package.json +2 -2
- package/dist/templates/markdown/spec/guides/cursor-trellis-release-coexistence-guide.md.txt +0 -166
- package/dist/templates/markdown/spec/guides/goal-release-regression-runbook.md.txt +0 -132
- /package/dist/templates/markdown/{spec/guides → framework}/artifact-locale-guide.md.txt +0 -0
- /package/dist/templates/markdown/{spec/guides → framework}/cursor-context-injection-guide.md.txt +0 -0
- /package/dist/templates/markdown/{spec/guides → framework}/cursor-semantic-compliance.md.txt +0 -0
- /package/dist/templates/markdown/{spec/guides → framework}/execution-strategy.md.txt +0 -0
- /package/dist/templates/markdown/{spec/guides → framework}/injection-budget-guide.md.txt +0 -0
- /package/dist/templates/markdown/{spec/guides → framework}/retrieval-daily-guide.md.txt +0 -0
|
@@ -21,7 +21,7 @@ You are the Implement Agent in the Trellis workflow.
|
|
|
21
21
|
## Model policy
|
|
22
22
|
|
|
23
23
|
- **Default:** no `model:` → **inherit** parent session.
|
|
24
|
-
- **Per dispatch / Child worker:** main session asks user → one-shot `model:` overlay on this file → `Task` → restore. Child session uses the same overlay pattern on `cstl-implement`. See `.cstl/
|
|
24
|
+
- **Per dispatch / Child worker:** main session asks user → one-shot `model:` overlay on this file → `Task` → restore. Child session uses the same overlay pattern on `cstl-implement`. See `.cstl/framework/cursor-subagent-policy.md`.
|
|
25
25
|
|
|
26
26
|
## Recursion Guard
|
|
27
27
|
|
|
@@ -21,7 +21,7 @@ You are the Research Agent in the Trellis workflow.
|
|
|
21
21
|
## Model policy
|
|
22
22
|
|
|
23
23
|
- **Default:** no `model:` in this file → **inherit** parent session at spawn.
|
|
24
|
-
- **Per dispatch:** main session asks the user, writes a **one-shot** `model:` here, runs `Task`, then **removes** `model:` (ephemeral overlay). See `.cstl/
|
|
24
|
+
- **Per dispatch:** main session asks the user, writes a **one-shot** `model:` here, runs `Task`, then **removes** `model:` (ephemeral overlay). See `.cstl/framework/cursor-subagent-policy.md`.
|
|
25
25
|
- Dispatch: Cursor **Agent mode** (writable).
|
|
26
26
|
|
|
27
27
|
## Core Principle
|
|
@@ -79,4 +79,4 @@ Then tell the user: **Developer: Reload Window** in Cursor (required once per pa
|
|
|
79
79
|
- Project override (optional): `.cstl/local/subagent-models.json5`
|
|
80
80
|
- Patch bundle: `.cstl/local/cursor2plus/`
|
|
81
81
|
|
|
82
|
-
Policy: `.cstl/
|
|
82
|
+
Policy: `.cstl/framework/cursor-subagent-policy.md` (Method 2.5 / 2.6).
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Session Handoff (cstl-handoff)
|
|
2
|
+
|
|
3
|
+
Condense the current session into a **portable** handoff document (`cstl-handoff-{yyyyMMdd-HHmmss}-{slug}.md`), written to the **OS temp directory** (does not pollute the workspace), so a new agent can continue without the original session. This command is the Cursor invocation surface for the `cstl-handoff` skill — mirror of `common/bundled-skills/cstl-handoff/SKILL.md`; keep the two aligned when editing.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## When to use / when not
|
|
8
|
+
|
|
9
|
+
At stage boundaries first ask: **does the work still continue in this session?**
|
|
10
|
+
|
|
11
|
+
1. **Continue** — default preference: keep going in this session
|
|
12
|
+
2. **Clear** — context can be dropped; clear and restart
|
|
13
|
+
3. **Handoff** — the work needs to travel → this command
|
|
14
|
+
4. **Subagent** — a side branch can run in parallel while the main session stays → dispatch a subagent (optionally with a handoff file)
|
|
15
|
+
5. **Compact** — same harness, same directory, only intent compression needed → use the platform compact
|
|
16
|
+
|
|
17
|
+
**Handoff only when the work needs to travel**: switch harness, switch directory / repo, hand to a colleague, or fork a side branch. Same harness + same directory continuation → compact / continue, not handoff.
|
|
18
|
+
|
|
19
|
+
## How this differs from a task `handoff.md` (read first)
|
|
20
|
+
|
|
21
|
+
| | This command (session handoff) | Task `handoff.md` |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| What | Portable cross-session summary | Child-task integration / implementation-window **delivery evidence** |
|
|
24
|
+
| Where | OS temp directory (volatile) | `.cstl/tasks/<task>/` (durable, archived with the task) |
|
|
25
|
+
| Lifecycle | Single transfer; dead once the work lands | Kept with the task evidence for Parent / review traces |
|
|
26
|
+
|
|
27
|
+
A task directory's `handoff.md` is the evidence file for `integrate-child` / `review-child`, **not** a session handoff document; the temp file this command produces is **not** task evidence.
|
|
28
|
+
|
|
29
|
+
## Steps
|
|
30
|
+
|
|
31
|
+
1. **Read the user argument**: the "next-session purpose" passed on invocation decides which whys to keep (trim key decision rationale by purpose — do not take everything verbatim).
|
|
32
|
+
2. **Write the temp file** (path rules below).
|
|
33
|
+
3. **Report the full absolute path** (required): temp paths are long and differ per OS; the user must get the path first.
|
|
34
|
+
4. **Remind about volatility**: the temp file may be cleaned by the environment (Codex clears temp across sessions; `/private/tmp` is lost on reboot). For cross-hour / cross-harness continuation, ask the user to copy it to a durable location immediately.
|
|
35
|
+
|
|
36
|
+
### Path rules
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
$env:TEMP\cstl-handoff-{yyyyMMdd-HHmmss}-{slug}.md
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
- Windows: `$env:TEMP` (i.e. `%TEMP%`)
|
|
43
|
+
- Linux / macOS: `$TMPDIR/cstl-handoff-{yyyyMMdd-HHmmss}-{slug}.md` (`/tmp` when `$TMPDIR` is unset)
|
|
44
|
+
- Always report the **full absolute path** to the user after writing — never just the filename.
|
|
45
|
+
|
|
46
|
+
## Content template (English skeleton)
|
|
47
|
+
|
|
48
|
+
> Follow `artifact_locale` when the project uses it; English by default.
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
# Session handoff — <work summary>
|
|
52
|
+
|
|
53
|
+
> Generated by cstl-handoff at <time> · Next-session purpose: <user argument>
|
|
54
|
+
|
|
55
|
+
## Goal
|
|
56
|
+
<what the in-flight work is trying to achieve>
|
|
57
|
+
|
|
58
|
+
## Done
|
|
59
|
+
- <items>
|
|
60
|
+
|
|
61
|
+
## Not done / Blocked
|
|
62
|
+
- <items>
|
|
63
|
+
|
|
64
|
+
## Next steps
|
|
65
|
+
1. <ordered steps>
|
|
66
|
+
|
|
67
|
+
## Key whys (trimmed by next-session purpose)
|
|
68
|
+
- <decision + reason; whys unrelated to this purpose can be omitted>
|
|
69
|
+
|
|
70
|
+
## Facts vs unverified beliefs
|
|
71
|
+
- Facts: <verified>
|
|
72
|
+
- Beliefs (unverified): <assumptions — never write them as facts>
|
|
73
|
+
|
|
74
|
+
## Pointers (reference paths only, never copy bodies)
|
|
75
|
+
- Task: `.cstl/tasks/<task>/` (prd.md / design.md / implement.md / verify.md)
|
|
76
|
+
- Context: `CONTEXT.md` · Research: `<task>/research/`
|
|
77
|
+
- Prototype evidence (if a prototype was involved): `<task>/research/prototype-<slug>.py` (see `.cstl/spec/guides/prototype-guide.md` §9)
|
|
78
|
+
- Other: ADR / issue / commit / diff paths or URLs
|
|
79
|
+
|
|
80
|
+
## Suggested skills (for the continuing agent)
|
|
81
|
+
- <skill name list, e.g. cstl-brainstorm, cstl-check, cstl-continue>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Rules
|
|
85
|
+
|
|
86
|
+
- **Reference, don't copy**: anything already on disk (spec / PRD / ADR / issue / commit / diff) gets a path or URL only, never pasted verbatim.
|
|
87
|
+
- **Redact**: API keys, tokens, passwords, PII → replace with `<REDACTED>` before writing; when unsure, write `<REDACTED>`.
|
|
88
|
+
- **Facts vs beliefs**: unverified assumptions must be marked, never written as verified facts — the continuing agent will treat the document as a contract and will not re-check.
|
|
89
|
+
- **Prototype evidence pointer**: when the session involved a prototype, list the prototype evidence path in the pointers section and confirm the evidence is captured before cleanup.
|
|
90
|
+
- **Delivery**: have the new agent **read the file path**; do not stuff the summary into shell quotes to launch the new agent (backticks / `$(...)` get swallowed and silently truncated).
|
|
91
|
+
|
|
92
|
+
## Anti-patterns
|
|
93
|
+
|
|
94
|
+
- ❌ Treating handoff as a long-lived document: it is a transit document for a single transfer and dies once the work lands (long-term facts belong in `AGENTS.md` / spec, not handoff)
|
|
95
|
+
- ❌ Pasting large spec / PRD / diff bodies (should reference paths only)
|
|
96
|
+
- ❌ Stuffing the summary into shell quotes to launch the next agent (silent truncation risk)
|
|
97
|
+
- ❌ Not reporting the full path / not reminding about temp volatility
|
|
98
|
+
- ❌ Writing a handoff for same-harness same-directory continuation (should compact / continue)
|
|
99
|
+
- ❌ Writing keys / tokens into the document
|
|
@@ -5,7 +5,7 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# Prefer Cursor native modes (P1 — orchestrate, don't replace)
|
|
7
7
|
|
|
8
|
-
cstl **prefers** Cursor native modes and maps them to Trellis Triage/phases. **Do not** replace Cursor UI or invent a parallel Plan/Ask/Debug product. Full table: `.cstl/
|
|
8
|
+
cstl **prefers** Cursor native modes and maps them to Trellis Triage/phases. **Do not** replace Cursor UI or invent a parallel Plan/Ask/Debug product. Full table: `.cstl/framework/cursor-native-modes-guide.md` · evidence: `{TASK}/research/modes-callability-matrix.md`.
|
|
9
9
|
|
|
10
10
|
## Quick routing
|
|
11
11
|
|
|
@@ -29,4 +29,4 @@ When native cannot be task-driven well: continue on the **cstl spine** (Triage /
|
|
|
29
29
|
|
|
30
30
|
## Rollback
|
|
31
31
|
|
|
32
|
-
Delete this file +
|
|
32
|
+
Delete this file + `.cstl/framework/cursor-native-modes-guide.md` (see guide Rollback).
|
|
@@ -75,4 +75,4 @@ Use codegraph for **call chains**, **cross-package trap disambiguation**, **exte
|
|
|
75
75
|
|
|
76
76
|
## External facts
|
|
77
77
|
|
|
78
|
-
Web/current events: **smart-search** first per `.cstl/
|
|
78
|
+
Web/current events: **smart-search** first per `.cstl/framework/retrieval-daily-guide.md` (see **External-knowledge gate** for search-or-not).
|
|
@@ -19,11 +19,39 @@ Only a handful of Trellis entry points are meant for **manual `/` invocation**.
|
|
|
19
19
|
- **User-invocable (manual)**: `cstl-continue`, `cstl-finish-work` (and `cstl-start` when needed).
|
|
20
20
|
- **Internal auto-triggered (do NOT call manually)**: `cstl-brainstorm`, `cstl-before-dev`, `cstl-check`, `cstl-break-loop`, `cstl-update-spec`, `cstl-micro-grill`, `cstl-meta`, `cstl-spec-bootstrap`, `cstl-skill-creator`, `smart-search-cli`. These activate on their own when the workflow/skill matcher decides they fit.
|
|
21
21
|
|
|
22
|
+
## Goal runtime (not a task type)
|
|
23
|
+
|
|
24
|
+
**Goal** here means the **CLI subsystem** `cstl goal` (preflight → accept → run / pause / status / review), not a Task Ladder type and not Parent/Child orchestration.
|
|
25
|
+
|
|
26
|
+
- Prefer: `cstl goal status` / `cstl goal preflight …` in the project terminal.
|
|
27
|
+
- Do **not** invent a "goal" task kind or map "use goal" onto `add-subtask` / Parent-only planning.
|
|
28
|
+
- Default Cursor install has **no** `/cstl-goal` slash command (optional dogfood/extension only).
|
|
29
|
+
- Task directory `handoff.md` = child integration evidence; session handoff = `/cstl-handoff` (temp file).
|
|
30
|
+
|
|
31
|
+
## Invocation map (short)
|
|
32
|
+
|
|
33
|
+
| Intent | Use | Do not |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| Session handoff | `/cstl-handoff` → report temp path | task `handoff.md`; ad-hoc workspace handoff |
|
|
36
|
+
| Goal runtime | `cstl goal status\|preflight\|run\|…` | Parent/Child as "goal"; invent goal task type |
|
|
37
|
+
| User slash surface | only listed `/cstl-*` commands | assume internal skills are slash commands |
|
|
38
|
+
| Internal skills (brainstorm, …) | workflow says load → Read documented path (see guides); not user slash | claim loaded with no file read |
|
|
39
|
+
|
|
40
|
+
Commands-only: internal skills stay **out of** the `/` palette by design; they must still be **reachable** via documented on-demand paths (not "missing from the framework").
|
|
41
|
+
|
|
42
|
+
## Internal skill reachability (on-demand)
|
|
43
|
+
|
|
44
|
+
Internal auto-triggered skills are **not** shipped to `.cursor/skills/` and have **no** default slash command. When the workflow routes to one, load its body by reading a documented path — do **not** claim it is loaded without a file read.
|
|
45
|
+
|
|
46
|
+
- PRD Grill / brainstorm discipline → **`Read .cstl/framework/prd-grill-frontier.md`** (SSOT: bundled `common/skills/brainstorm.md`).
|
|
47
|
+
- Full skill × load-channel matrix → **`Read .cstl/framework/internal-skills-cursor-reachability.md`**.
|
|
48
|
+
- Dogfood-only install surfaces (never shipped by default) → **`Read .cstl/framework/dogfood-only-surfaces.md`**.
|
|
49
|
+
|
|
22
50
|
## Web research routing (smart-search first)
|
|
23
51
|
|
|
24
|
-
For **any external / current / web fact**, run **`python ./.cstl/scripts/run_smart_search.py "<question>" --intent deep-research --json`** first. That script is the **only** Trellis web-research evidence entrypoint (it shells out to the `smart-search` CLI). Do not guess paths under package source trees or sibling repos. Platform built-in web tools (Cursor `WebSearch` / `WebFetch`, or native web tools elsewhere) are **downgrade-only fallbacks**, used solely when smart-search is unavailable (`doctor` not ok, status `not_configured` / `failed`, or search timeout). Do not reach for built-in web search while smart-search is healthy. On Cursor, `smart-search-cli` is an **internal workflow skill name** only (not shipped under `.cursor/skills/`); follow `.cstl/
|
|
52
|
+
For **any external / current / web fact**, run **`python ./.cstl/scripts/run_smart_search.py "<question>" --intent deep-research --json`** first. That script is the **only** Trellis web-research evidence entrypoint (it shells out to the `smart-search` CLI). Do not guess paths under package source trees or sibling repos. Platform built-in web tools (Cursor `WebSearch` / `WebFetch`, or native web tools elsewhere) are **downgrade-only fallbacks**, used solely when smart-search is unavailable (`doctor` not ok, status `not_configured` / `failed`, or search timeout). Do not reach for built-in web search while smart-search is healthy. On Cursor, `smart-search-cli` is an **internal workflow skill name** only (not shipped under `.cursor/skills/`); follow `.cstl/framework/retrieval-daily-guide.md` and `.cursor/rules/retrieval-routing.mdc` for the executable contract.
|
|
25
53
|
|
|
26
|
-
**External-knowledge gate:** If the answer would be wrong because the **world or a third-party API moved** and that matters → use smart-search (cheap `docs` / `broad-search` when enough; `deep-research` when multi-source). If truth lives only in this workspace → do not default to web. When unsure, prefer a cheap probe over guessing. See retrieval-daily-guide § External-knowledge gate.
|
|
54
|
+
**External-knowledge gate:** If the answer would be wrong because the **world or a third-party API moved** and that matters → use smart-search (cheap `docs` / `broad-search` when enough; `deep-research` when multi-source). If truth lives only in this workspace → do not default to web. When unsure, prefer a cheap probe over guessing. See `.cstl/framework/retrieval-daily-guide.md` § External-knowledge gate.
|
|
27
55
|
|
|
28
56
|
Managed by cursor-trellis. Edits outside this block are preserved; edits inside may be overwritten by a future `cstl update`.
|
|
29
57
|
|
|
@@ -111,7 +111,7 @@ Details: `research/modes-callability-matrix.md`.
|
|
|
111
111
|
|
|
112
112
|
Docs + rules only:
|
|
113
113
|
|
|
114
|
-
1. Delete `.cursor/rules/cstl-cursor-modes.mdc` and `.cstl/
|
|
114
|
+
1. Delete `.cursor/rules/cstl-cursor-modes.mdc` and `.cstl/framework/cursor-native-modes-guide.md`.
|
|
115
115
|
2. Drop related `guides/index.md` / `workflow.md` rows, or `cstl update` from pre-P1 templates.
|
|
116
116
|
3. **cursor-trellis**: revert this Child’s tip or delete mirrored template paths.
|
|
117
117
|
|
|
@@ -122,4 +122,4 @@ Docs + rules only:
|
|
|
122
122
|
- `{TASK}/research/modes-callability-matrix.md`
|
|
123
123
|
- `{TASK}/research/cursor-modes-external.md`
|
|
124
124
|
- `.cursor/rules/cstl-cursor-modes.mdc`
|
|
125
|
-
- `.cstl/
|
|
125
|
+
- `.cstl/framework/cursor-subagent-policy.md`
|
|
@@ -293,7 +293,7 @@ trellis_task_subagents:
|
|
|
293
293
|
| `beforeShellExecution` | Short-lived ticket for `task.py select` / `selected` / `exit` in shells |
|
|
294
294
|
| `stop` | Optional `retrieval-pack-latest.json` when task has `research/` |
|
|
295
295
|
|
|
296
|
-
**Per-turn workflow-state on Cursor:** deferred — use `sessionStart` + `/cstl-continue` / `get_context.py --mode phase` instead of a per-turn hook injection (the relevant Cursor channel has a confirmed `additional_context` bug, see
|
|
296
|
+
**Per-turn workflow-state on Cursor:** deferred — use `sessionStart` + `/cstl-continue` / `get_context.py --mode phase` instead of a per-turn hook injection (the relevant Cursor channel has a confirmed `additional_context` bug, see `./cursor-context-injection-guide.md`).
|
|
297
297
|
|
|
298
298
|
---
|
|
299
299
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Dogfood-Only vs Default Install Surfaces
|
|
2
|
+
|
|
3
|
+
> **Purpose**: An inventory of surfaces that exist in the **maintainer harness** (MyHarness) but are **not** shipped by a default `cstl init` / `cstl update`. Use it to avoid the false conclusion "the product feature disappeared" when comparing a consumer repo to the harness. A file missing from a consumer project is **by design**, not a regression — the CLI/script/guide surface still carries the capability.
|
|
4
|
+
|
|
5
|
+
## Rule of thumb
|
|
6
|
+
|
|
7
|
+
- **Shipped by default** = written by `cstl init --cursor` and refreshed by `cstl update` (workflow, `.cstl/framework/` docs, scripts, AGENTS.md CSTL block, `.cursor/{commands,rules,agents,hooks}`). `.cstl/spec/` seeds are init-only and **never** refreshed — update never touches that directory.
|
|
8
|
+
- **Dogfood-only / harness-only** = present only in the maintainer harness or after manual copy. Absence in a consumer repo is expected.
|
|
9
|
+
|
|
10
|
+
## Inventory
|
|
11
|
+
|
|
12
|
+
| Surface | Where it exists | Why dogfood-only | Decision |
|
|
13
|
+
| --- | --- | --- | --- |
|
|
14
|
+
| `goal_preflight.py` / `goal_run.py` / `goal_review_packet.py` / `goal_wall_smoke.py` | `.cstl/scripts/` in the harness | Portable-goal regression scripts for the maintainer runbook; not needed by consumers | **harness-only** (do not ship as default templates) |
|
|
15
|
+
| `/cstl-goal` slash command + `cstl-goal-worker` / `cstl-goal-reviewer` agents | `.cursor/commands/`, `.cursor/agents/` in the harness | Long-horizon goal surface is an extension; the indexed entry point is the CLI `cstl goal` (see AGENTS.md Goal runtime) | **dogfood** — index shipped (P12), slash not shipped by default |
|
|
16
|
+
| `.claude/skills/*` full suite | `.claude/skills/` in the harness | Cursor default install is **commands-only**; Claude skill files are for Claude platforms, not Cursor consumers | **non-Cursor** (not in Cursor default install) |
|
|
17
|
+
| `.cstl/local/cursor2plus/`, `.cstl/local/*.json5` / `.json.example`, model overlay (e.g. `.cursor/agents/.trellis-model-overlay.local.md`) | `.cstl/local/` + `.cursor/agents/` in the harness | Local BYOK / model-routing patch layer; machine-specific, never force-installed | **local only** — opt-in (`cstl init --cursor2plus`) or manual |
|
|
18
|
+
| Private review-pool items / plan narratives / goal-regression runbook habits | `.cstl/pool/items/`, `{TASK}/research/` in the harness | Personal or project-specific content; the pool **mechanism** ships, the items do not | **narrative not packaged** — mechanism ships, content stays local |
|
|
19
|
+
| `.codegraph/`, `.worktrees/`, scratch/analysis files | Harness root | Per-machine index / tooling state | **local only** |
|
|
20
|
+
|
|
21
|
+
## If a capability seems missing in a consumer repo
|
|
22
|
+
|
|
23
|
+
1. Check the [internal-skills-cursor-reachability.md](./internal-skills-cursor-reachability.md) matrix — the capability's load channel (guide / script / agent / CLI) should be present.
|
|
24
|
+
2. Check AGENTS.md `Invocation map (short)` — the intended entry point (CLI `cstl goal`, `/cstl-handoff`, etc.).
|
|
25
|
+
3. If the entry point is a harness-only file from the table above, the capability is intentionally **not** shipped to consumers — do not backfill it by copying harness files.
|
|
26
|
+
|
|
27
|
+
## Related
|
|
28
|
+
|
|
29
|
+
- [internal-skills-cursor-reachability.md](./internal-skills-cursor-reachability.md) — reachability of internal skill names.
|
|
30
|
+
- [prd-grill-frontier.md](./prd-grill-frontier.md) — P11 grilling on-demand path.
|
|
31
|
+
- AGENTS.md `Invocation map (short)` — Goal = CLI, not Parent/Child; session handoff = `/cstl-handoff`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Framework Docs (`.cstl/framework/`)
|
|
2
|
+
|
|
3
|
+
> **Ownership**: These files are **framework-managed**. `cstl update` refreshes them (with the same hash-conflict prompt as `workflow.md`). If you edit one, update will ask before overwriting — prefer putting project-specific norms in `.cstl/spec/` instead, which update never touches.
|
|
4
|
+
|
|
5
|
+
Versioned framework and platform-adapter documentation. Project/team knowledge lives in `.cstl/spec/` (user-owned); this directory documents how the framework itself behaves.
|
|
6
|
+
|
|
7
|
+
## Docs
|
|
8
|
+
|
|
9
|
+
| Doc | What it covers |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [prd-grill-frontier.md](./prd-grill-frontier.md) | On-demand path to the PRD grill and Frontier discipline (bundled `brainstorm` skill is SSOT) |
|
|
12
|
+
| [internal-skills-cursor-reachability.md](./internal-skills-cursor-reachability.md) | How each internal workflow skill is reachable on Cursor (commands-only baseline) |
|
|
13
|
+
| [dogfood-only-surfaces.md](./dogfood-only-surfaces.md) | Which surfaces ship by default vs exist only in the maintainer harness |
|
|
14
|
+
| [cursor-subagent-policy.md](./cursor-subagent-policy.md) | When to spawn Trellis custom agents; model policy stays on the Cursor side |
|
|
15
|
+
| [retrieval-daily-guide.md](./retrieval-daily-guide.md) | Daily retrieval tool routing (search vs retrieval-pack scoring; web-research gate) |
|
|
16
|
+
| [cursor-native-modes-guide.md](./cursor-native-modes-guide.md) | Mapping Cursor Plan / Ask / Debug / Agent / Multitask onto Trellis phases |
|
|
17
|
+
| [cursor-context-injection-guide.md](./cursor-context-injection-guide.md) | Which Cursor injection channels actually reach the model |
|
|
18
|
+
| [cursor-semantic-compliance.md](./cursor-semantic-compliance.md) | Plan-vs-exec semantic compliance on Cursor |
|
|
19
|
+
| [injection-budget-guide.md](./injection-budget-guide.md) | Context injection budget across reliable Cursor channels |
|
|
20
|
+
| [execution-strategy.md](./execution-strategy.md) | Development Strategy Contract (`execution_mode` / isolation) |
|
|
21
|
+
| [verification-strength-guide.md](./verification-strength-guide.md) | How deeply tasks must be verified before closeout, graded by task mode |
|
|
22
|
+
| [artifact-locale-guide.md](./artifact-locale-guide.md) | How human-reviewed artifacts follow the user's language |
|
|
23
|
+
|
|
24
|
+
## Related
|
|
25
|
+
|
|
26
|
+
- `.cstl/workflow.md` — the workflow itself (also framework-managed)
|
|
27
|
+
- `.cstl/spec/guides/` — project thinking guides (user-owned; update never modifies)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Internal Skills Cursor Reachability Matrix
|
|
2
|
+
|
|
3
|
+
> **Purpose**: Every skill name the AGENTS.md command surface lists must have a documented **load channel** on a pure Cursor project. Internal workflow skills are **not** shipped to `.cursor/skills/` and have **no** default slash command — by design (commands-only). This matrix is the honest index: how each internal name is actually reachable on-demand, so an agent never claims a skill is loaded without a file read, and users never assume internal skills are slash commands.
|
|
4
|
+
|
|
5
|
+
## Commands-only baseline
|
|
6
|
+
|
|
7
|
+
- Default Cursor install writes only: `.cursor/commands/` (user slash commands), `.cursor/rules/*.mdc`, `.cursor/agents/*.md`, `.cursor/hooks`, and `.cstl/` (workflow, framework docs, scripts, spec/guides seeds).
|
|
8
|
+
- Bundled skill **bodies** live in the npm package templates (`dist/templates/common/skills/`, `dist/templates/common/bundled-skills/`). They are **not** copied into a consumer project by `cstl init` on Cursor.
|
|
9
|
+
- "Not in the project" ≠ "missing from the framework": the CLI/script/agent/guide surface below is the reachable carrier.
|
|
10
|
+
|
|
11
|
+
## Matrix
|
|
12
|
+
|
|
13
|
+
| Skill name | Package SSOT | Cursor load channel | Slash? | AGENTS lists it? |
|
|
14
|
+
| --- | --- | --- | --- | --- |
|
|
15
|
+
| `cstl-brainstorm` (PRD Grill) | `common/skills/brainstorm.md` | **Read `./prd-grill-frontier.md`** (on-demand summary; full body in npm package) | no | yes |
|
|
16
|
+
| `cstl-micro-grill` | `bundled-skills/cstl-micro-grill/SKILL.md` | Contract embedded in `.cstl/workflow.md` Request Triage + `./prd-grill-frontier.md` §Micro-grill unresolved; full body in npm package | no | yes |
|
|
17
|
+
| `cstl-before-dev` | `common/skills/before-dev.md` | Workflow routes the behavior (Read task artifacts → `get_context.py --mode packages` → spec indexes); full body in npm package | no | yes |
|
|
18
|
+
| `cstl-break-loop` | `common/skills/break-loop.md` | Workflow routes the behavior (Debug → evidence → `cstl-break-loop`); full body in npm package; output pattern in `.cstl/spec/guides/debug-loop-guide.md` | no | yes |
|
|
19
|
+
| `cstl-update-spec` | `common/skills/update-spec.md` | Workflow Phase 3.3 routes the decision (`update-spec` \| `no-update` \| `unsure`); full body in npm package | no | yes |
|
|
20
|
+
| `cstl-check` | `bundled-skills/cstl-check/SKILL.md` | **Agent form `.cursor/agents/cstl-check.md`** (Task tool, dual-axis) — prefer Agent when `execution_mode: worker` | no | yes |
|
|
21
|
+
| `cstl-meta` | `bundled-skills/cstl-meta/SKILL.md` | Maintainer skill; body in npm package; no Cursor project file (not routed in consumer workflows) | no | yes |
|
|
22
|
+
| `cstl-spec-bootstrap` | `bundled-skills/cstl-spec-bootstrap/SKILL.md` | One-shot scaffolding skill; body in npm package; not routed in steady-state consumer workflow | no | yes |
|
|
23
|
+
| `cstl-skill-creator` | `bundled-skills/cstl-skill-creator/SKILL.md` | Authoring-time skill; body in npm package; not routed in consumer workflow | no | yes |
|
|
24
|
+
| `smart-search-cli` | `bundled-skills/smart-search-cli/SKILL.md` | **`python ./.cstl/scripts/run_smart_search.py "<question>" --intent deep-research --json`** (shipped script); Cursor web tools are downgrade-only fallback | no | yes |
|
|
25
|
+
| `cstl-handoff` | `bundled-skills/cstl-handoff/SKILL.md` | **Slash `/cstl-handoff`** (writes session handoff to OS temp dir) | **yes** | n/a (user command) |
|
|
26
|
+
| `cstl-continue` / `cstl-finish-work` / `cstl-start` | `common/commands/*.md` | **Slash `/cstl-continue`, `/cstl-finish-work`** (`cstl-start` filtered on agent-capable platforms) | **yes** | n/a (user commands) |
|
|
27
|
+
| `cstl-research` / `cstl-implement` / `cstl-check` (agents) | `packages/cli/src/templates/cursor/agents/*.md` | **`.cursor/agents/*.md`** — Agent (Task tool), dispatched via `generate_dispatch_prompt.py` (CLI Layer 2) | no | n/a (agent types) |
|
|
28
|
+
|
|
29
|
+
## Reading this matrix
|
|
30
|
+
|
|
31
|
+
- **Reachable on-demand** (green path): brainstorm → guide; check → agent; smart-search → script; micro-grill → embedded contract.
|
|
32
|
+
- **Body in npm package only**: the skill is real and shipped, but a pure Cursor project has no project-relative copy. The workflow routes its **behavior** directly; the full body is discoverable under the installed package (`npm root -g` → `dist/templates/…`). Do not claim these are loaded without reading the actual body when the behavior matters.
|
|
33
|
+
- **Maintainer/authoring-only** (`cstl-meta`, `cstl-spec-bootstrap`, `cstl-skill-creator`): named in AGENTS for framework completeness; not part of the consumer execution path. They stay on the list because they are real shipped skills, but no consumer-facing load path is promised beyond the package body.
|
|
34
|
+
|
|
35
|
+
## Honesty rule
|
|
36
|
+
|
|
37
|
+
If a skill is named in AGENTS.md, it must be reachable here. If a row ever becomes unreachable, either add a project-relative carrier (guide/script/agent) or remove the name from AGENTS.md. Never claim "skill loaded" without a file read.
|
|
38
|
+
|
|
39
|
+
## Related
|
|
40
|
+
|
|
41
|
+
- [prd-grill-frontier.md](./prd-grill-frontier.md) — P11: brainstorm/grill on-demand path.
|
|
42
|
+
- [dogfood-only-surfaces.md](./dogfood-only-surfaces.md) — what ships only in the maintainer harness (goal_*.py, `.claude/skills`, local overlays).
|
|
43
|
+
- AGENTS.md `Invocation map (short)` + `Internal skill reachability` sections.
|
|
44
|
+
- `./cursor-context-injection-guide.md` — which channels actually reach the Cursor model.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# PRD Grill & Frontier Discipline
|
|
2
|
+
|
|
3
|
+
> **Purpose**: When the workflow routes to planning / PRD Grill, this is the on-demand path to the grill and Frontier discipline on Cursor. The full interview contract and Thinking Principles live in the bundled `brainstorm` skill (SSOT) — this guide is the Cursor loadable summary, not a second source of truth.
|
|
4
|
+
|
|
5
|
+
## When to read this
|
|
6
|
+
|
|
7
|
+
The workflow or AGENTS invocation map says planning / PRD Grill → **`Read ./prd-grill-frontier.md`** (this file) or the full bundled `common/skills/brainstorm.md` when another carrier is available. Read it **before** asking any user questions. Do **not** claim the grill discipline is loaded without a file read.
|
|
8
|
+
|
|
9
|
+
## Non-negotiable evidence rule
|
|
10
|
+
|
|
11
|
+
If a question can be answered by exploring the codebase, explore the codebase instead — never ask the user to confirm facts the repo can answer. Read root `CONTEXT.md` (if present) before asking and use its glossary terms. Ask only for product intent, preference, scope, risk tolerance, or decisions that remain ambiguous after inspection.
|
|
12
|
+
|
|
13
|
+
## PRD Grill (Phase B)
|
|
14
|
+
|
|
15
|
+
Treat `prd.md` (+ existing `design.md` fragments) as the **only document surface**. Run this checklist and fix the PRD in place (no new subagent):
|
|
16
|
+
|
|
17
|
+
| # | Check |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| 1 | **Goal & user value** — single clear statement |
|
|
20
|
+
| 2 | **Confirmed facts vs assumptions** — repo facts not listed as assumptions |
|
|
21
|
+
| 3 | **Testable acceptance criteria** |
|
|
22
|
+
| 4 | **Out of scope** explicit |
|
|
23
|
+
| 5 | **Dependencies & sequencing** |
|
|
24
|
+
| 6 | **Parent/Child & deliverables** when applicable |
|
|
25
|
+
| 7 | **Research & external facts** — smart-search or documented fallback |
|
|
26
|
+
| 8 | **Execution gate & artifacts** — `design.md` / `implement.md` / `verify.md` expectations |
|
|
27
|
+
| 9 | **Durable Learning** — Phase 3.3 will need `update-spec` \| `no-update` \| `unsure` |
|
|
28
|
+
| 10 | **Platform** — Cursor-first; PRD Grill in-session (no legacy grill-me / grill-with-docs subagent gate) |
|
|
29
|
+
| 11 | **Risk & rollback** for complex tasks |
|
|
30
|
+
| 12 | **Open questions** — only **blocking** strategic/preference items remain |
|
|
31
|
+
| 13 | **Root vs inherited assumptions** — every requirement traces to a user-facing root need; inherited assumptions flagged or removed (First Principles) |
|
|
32
|
+
| 14 | **Minimal sufficient design** — simplest design that meets acceptance wins (Occam's Razor) |
|
|
33
|
+
|
|
34
|
+
## Micro-grill unresolved
|
|
35
|
+
|
|
36
|
+
For each **blocking** open question after the checklist, embed the `cstl-micro-grill` contract:
|
|
37
|
+
|
|
38
|
+
- exactly **one** question per message
|
|
39
|
+
- user-facing text in the project's human-review language (default Simplified Chinese)
|
|
40
|
+
- recommended answer + trade-off
|
|
41
|
+
- **update `prd.md` after every answer** before the next question
|
|
42
|
+
|
|
43
|
+
Stop micro-grill when no blocking open questions remain. Do not ask process questions ("should I search?"); do not re-ask facts Discovery already confirmed.
|
|
44
|
+
|
|
45
|
+
## Frontier rounds (question pacing)
|
|
46
|
+
|
|
47
|
+
- **frontier** = all "prerequisite-decided" questions: their prerequisite decisions are resolved, so they can be asked now without guessing unheard answers.
|
|
48
|
+
- Each round lists the current frontier at once, each question numbered (❓Q1/Q2/Q3…) with a recommended answer.
|
|
49
|
+
- **≤3 questions per round**; split into more rounds beyond that to avoid information overload.
|
|
50
|
+
- **Facts are the agent's job**: when a frontier question needs environment facts, dispatch a sub-agent to check; while exploration is pending it counts as an unresolved prerequisite that only blocks its downstream questions — ask the rest of the frontier anyway.
|
|
51
|
+
- **Decisions are the user's job**: every decision waits for the user's answer; do not answer for them.
|
|
52
|
+
- A user answer reshapes the design tree and the frontier extrapolates into the next round; **an empty frontier = the design tree is exhausted** — summarize the consensus and confirm before treating planning as done.
|
|
53
|
+
|
|
54
|
+
> **Override note**: this pacing overrides the "Ask the questions one at a time" line in the Non-Negotiable Interview Contract — Phase B (PRD Grill) follows frontier rounds; `cstl-micro-grill` still defaults to one question at a time.
|
|
55
|
+
|
|
56
|
+
## Question rules
|
|
57
|
+
|
|
58
|
+
Each question must include: the decision needed, why it matters, your recommended answer, and the trade-off if the user chooses differently. Default recommendation = Occam's Razor: the **minimal sufficient** option that still satisfies the acceptance criteria. Only recommend a more complex option when you can cite evidence (a contract, a verified edge case, a repo constraint).
|
|
59
|
+
|
|
60
|
+
## Artifact rules (summary)
|
|
61
|
+
|
|
62
|
+
- `prd.md` records requirements + acceptance (goal, confirmed facts, requirements, acceptance criteria, out of scope, blocking open questions).
|
|
63
|
+
- `design.md` records technical design for complex tasks (architecture, data flow, contracts, trade-offs, rollback).
|
|
64
|
+
- `implement.md` records execution planning (ordered checklist, validation commands, Development Strategy Contract via `task.py suggest-execution-strategy`).
|
|
65
|
+
- Complex tasks need all three before `start-execution --check`; lightweight tasks may be PRD-only.
|
|
66
|
+
|
|
67
|
+
## Completion — PRD Grill done
|
|
68
|
+
|
|
69
|
+
Planning is ready for the execution gate when **all** hold:
|
|
70
|
+
|
|
71
|
+
- PRD Grill checklist satisfied or explicitly N/A with rationale in `prd.md`
|
|
72
|
+
- **No blocking** open questions in `prd.md`
|
|
73
|
+
- Acceptance criteria testable; out of scope explicit
|
|
74
|
+
- Complex tasks: `design.md` and `implement.md` present
|
|
75
|
+
- User reviewed artifacts or explicitly approved proceeding
|
|
76
|
+
|
|
77
|
+
Then proceed to Research (if needed), `task.py start-execution <task> --check`, and implementation **only after** explicit user execution approval. Do not start implementation until the user approves or asks for implementation.
|
|
78
|
+
|
|
79
|
+
## Related
|
|
80
|
+
|
|
81
|
+
- Full SSOT: bundled `brainstorm` skill (`common/skills/brainstorm.md`) — interview contract, First Principles, Occam's Razor.
|
|
82
|
+
- Reachability: [internal-skills-cursor-reachability.md](./internal-skills-cursor-reachability.md).
|
|
83
|
+
- Workflow routing: `.cstl/workflow.md` Phase 1 (Plan) and Active Task Routing.
|
package/dist/templates/markdown/{spec/guides → framework}/verification-strength-guide.md.txt
RENAMED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- **No TDD productization** — cstl does not require red-green-refactor loops, "write tests first" gates, or per-function unit test mandates.
|
|
10
10
|
- **No per-task full-suite burden** — Lite tasks must not be forced through architecture review or whole-repo CI.
|
|
11
11
|
- **No replacement for project test frameworks** — cstl validation checks **task evidence** in `verify.md` and configured quality gates; it does not run or replace your project's test runner.
|
|
12
|
-
- **No test-writing mandate** — how to write good tests (pre-agreed seams, anti-patterns, mock boundaries) lives in the [Test Discipline Guide](
|
|
12
|
+
- **No test-writing mandate** — how to write good tests (pre-agreed seams, anti-patterns, mock boundaries) lives in the [Test Discipline Guide](.cstl/spec/guides/test-discipline-guide.md); verification strength is orthogonal to test-writing style.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -48,7 +48,7 @@ Details: `task_gates.py` → `PROFILE_DEFAULT_GATES`.
|
|
|
48
48
|
- [ ] Focused validation on **touched behavior** (command + result in `verify.md`)
|
|
49
49
|
- [ ] `python ./.cstl/scripts/task.py validate <task>`
|
|
50
50
|
- [ ] Final acceptance mapped to PRD AC
|
|
51
|
-
- [ ] Durable-learning decision line (see [Durable Learning Decision Guide](
|
|
51
|
+
- [ ] Durable-learning decision line (see [Durable Learning Decision Guide](.cstl/spec/guides/durable-learning-decision-guide.md))
|
|
52
52
|
|
|
53
53
|
**Example `verify.md` lines:**
|
|
54
54
|
|
|
@@ -25,18 +25,30 @@ export declare const guidesIndexContent: string;
|
|
|
25
25
|
export declare const guidesCrossLayerThinkingGuideContent: string;
|
|
26
26
|
export declare const guidesCodeReuseThinkingGuideContent: string;
|
|
27
27
|
export declare const guidesDurableLearningDecisionGuideContent: string;
|
|
28
|
-
export declare const guidesRetrievalDailyGuideContent: string;
|
|
29
|
-
export declare const guidesCursorSemanticComplianceContent: string;
|
|
30
|
-
export declare const guidesCursorSubagentPolicyContent: string;
|
|
31
|
-
export declare const guidesExecutionStrategyContent: string;
|
|
32
|
-
export declare const guidesCursorContextInjectionGuideContent: string;
|
|
33
|
-
export declare const guidesCursorNativeModesGuideContent: string;
|
|
34
|
-
export declare const guidesVerificationStrengthGuideContent: string;
|
|
35
|
-
export declare const guidesInjectionBudgetGuideContent: string;
|
|
36
|
-
export declare const guidesArtifactLocaleGuideContent: string;
|
|
37
28
|
export declare const guidesDebugLoopGuideContent: string;
|
|
38
|
-
export declare const guidesGoalReleaseRegressionRunbookContent: string;
|
|
39
29
|
export declare const guidesPrototypeGuideContent: string;
|
|
40
30
|
export declare const guidesTestDisciplineGuideContent: string;
|
|
41
31
|
export declare const guidesCrossPlatformThinkingGuideContent: string;
|
|
32
|
+
export declare const frameworkIndexContent: string;
|
|
33
|
+
export declare const frameworkRetrievalDailyGuideContent: string;
|
|
34
|
+
export declare const frameworkCursorSemanticComplianceContent: string;
|
|
35
|
+
export declare const frameworkCursorSubagentPolicyContent: string;
|
|
36
|
+
export declare const frameworkExecutionStrategyContent: string;
|
|
37
|
+
export declare const frameworkCursorContextInjectionGuideContent: string;
|
|
38
|
+
export declare const frameworkCursorNativeModesGuideContent: string;
|
|
39
|
+
export declare const frameworkVerificationStrengthGuideContent: string;
|
|
40
|
+
export declare const frameworkInjectionBudgetGuideContent: string;
|
|
41
|
+
export declare const frameworkArtifactLocaleGuideContent: string;
|
|
42
|
+
export declare const frameworkPrdGrillFrontierGuideContent: string;
|
|
43
|
+
export declare const frameworkInternalSkillsReachabilityGuideContent: string;
|
|
44
|
+
export declare const frameworkDogfoodOnlySurfacesGuideContent: string;
|
|
45
|
+
/**
|
|
46
|
+
* Single source of truth for `.cstl/framework/` docs.
|
|
47
|
+
* Consumed by init (configurators/workflow.ts) and update (commands/update.ts)
|
|
48
|
+
* so the two paths can never drift.
|
|
49
|
+
*/
|
|
50
|
+
export declare const frameworkDocs: readonly {
|
|
51
|
+
name: string;
|
|
52
|
+
content: string;
|
|
53
|
+
}[];
|
|
42
54
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,eAAO,MAAM,eAAe,EAAE,MAAuC,CAAC;AAGtE,eAAO,MAAM,qBAAqB,EAAE,MACK,CAAC;AAG1C,eAAO,MAAM,yBAAyB,QAAwB,CAAC;AAG/D,eAAO,MAAM,wBAAwB,EAAE,MACH,CAAC;AAQrC,eAAO,MAAM,mBAAmB,EAAE,MAEjC,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,MAE9C,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,MAE9C,CAAC;AACF,eAAO,MAAM,+BAA+B,EAAE,MAE7C,CAAC;AACF,eAAO,MAAM,+BAA+B,EAAE,MAE7C,CAAC;AACF,eAAO,MAAM,2BAA2B,EAAE,MAEzC,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,MAElC,CAAC;AACF,eAAO,MAAM,iCAAiC,EAAE,MAE/C,CAAC;AACF,eAAO,MAAM,yBAAyB,EAAE,MAEvC,CAAC;AACF,eAAO,MAAM,6BAA6B,EAAE,MAE3C,CAAC;AACF,eAAO,MAAM,kCAAkC,EAAE,MAEhD,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,MAE9C,CAAC;AACF,eAAO,MAAM,8BAA8B,EAAE,MAE5C,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,MAEhC,CAAC;AACF,eAAO,MAAM,oCAAoC,EAAE,MAElD,CAAC;AACF,eAAO,MAAM,mCAAmC,EAAE,MAEjD,CAAC;AACF,eAAO,MAAM,yCAAyC,EAAE,MACiB,CAAC;AAC1E,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,eAAO,MAAM,eAAe,EAAE,MAAuC,CAAC;AAGtE,eAAO,MAAM,qBAAqB,EAAE,MACK,CAAC;AAG1C,eAAO,MAAM,yBAAyB,QAAwB,CAAC;AAG/D,eAAO,MAAM,wBAAwB,EAAE,MACH,CAAC;AAQrC,eAAO,MAAM,mBAAmB,EAAE,MAEjC,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,MAE9C,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,MAE9C,CAAC;AACF,eAAO,MAAM,+BAA+B,EAAE,MAE7C,CAAC;AACF,eAAO,MAAM,+BAA+B,EAAE,MAE7C,CAAC;AACF,eAAO,MAAM,2BAA2B,EAAE,MAEzC,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,MAElC,CAAC;AACF,eAAO,MAAM,iCAAiC,EAAE,MAE/C,CAAC;AACF,eAAO,MAAM,yBAAyB,EAAE,MAEvC,CAAC;AACF,eAAO,MAAM,6BAA6B,EAAE,MAE3C,CAAC;AACF,eAAO,MAAM,kCAAkC,EAAE,MAEhD,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,MAE9C,CAAC;AACF,eAAO,MAAM,8BAA8B,EAAE,MAE5C,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,MAEhC,CAAC;AACF,eAAO,MAAM,oCAAoC,EAAE,MAElD,CAAC;AACF,eAAO,MAAM,mCAAmC,EAAE,MAEjD,CAAC;AACF,eAAO,MAAM,yCAAyC,EAAE,MACiB,CAAC;AAC1E,eAAO,MAAM,2BAA2B,EAAE,MAEzC,CAAC;AACF,eAAO,MAAM,2BAA2B,EAAE,MAEzC,CAAC;AACF,eAAO,MAAM,gCAAgC,EAAE,MAE9C,CAAC;AACF,eAAO,MAAM,uCAAuC,EAAE,MACiB,CAAC;AAMxE,eAAO,MAAM,qBAAqB,EAAE,MAEnC,CAAC;AACF,eAAO,MAAM,mCAAmC,EAAE,MAEjD,CAAC;AACF,eAAO,MAAM,wCAAwC,EAAE,MACW,CAAC;AACnE,eAAO,MAAM,oCAAoC,EAAE,MAElD,CAAC;AACF,eAAO,MAAM,iCAAiC,EAAE,MAE/C,CAAC;AACF,eAAO,MAAM,2CAA2C,EAAE,MACY,CAAC;AACvE,eAAO,MAAM,sCAAsC,EAAE,MAEpD,CAAC;AACF,eAAO,MAAM,yCAAyC,EAAE,MACW,CAAC;AACpE,eAAO,MAAM,oCAAoC,EAAE,MAElD,CAAC;AACF,eAAO,MAAM,mCAAmC,EAAE,MAEjD,CAAC;AACF,eAAO,MAAM,qCAAqC,EAAE,MAEnD,CAAC;AACF,eAAO,MAAM,+CAA+C,EAAE,MACa,CAAC;AAC5E,eAAO,MAAM,wCAAwC,EAAE,MACM,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,EA+CA,CAAC"}
|
|
@@ -45,23 +45,82 @@ export const frontendHookGuidelinesContent = readLocalTemplate("spec/frontend/ho
|
|
|
45
45
|
export const frontendComponentGuidelinesContent = readLocalTemplate("spec/frontend/component-guidelines.md.txt");
|
|
46
46
|
export const frontendQualityGuidelinesContent = readLocalTemplate("spec/frontend/quality-guidelines.md.txt");
|
|
47
47
|
export const frontendStateManagementContent = readLocalTemplate("spec/frontend/state-management.md.txt");
|
|
48
|
-
// Guides structure
|
|
48
|
+
// Guides structure (user-owned project thinking guides — init-only seeds)
|
|
49
49
|
export const guidesIndexContent = readLocalTemplate("spec/guides/index.md.txt");
|
|
50
50
|
export const guidesCrossLayerThinkingGuideContent = readLocalTemplate("spec/guides/cross-layer-thinking-guide.md.txt");
|
|
51
51
|
export const guidesCodeReuseThinkingGuideContent = readLocalTemplate("spec/guides/code-reuse-thinking-guide.md.txt");
|
|
52
52
|
export const guidesDurableLearningDecisionGuideContent = readLocalTemplate("spec/guides/durable-learning-decision-guide.md.txt");
|
|
53
|
-
export const guidesRetrievalDailyGuideContent = readLocalTemplate("spec/guides/retrieval-daily-guide.md.txt");
|
|
54
|
-
export const guidesCursorSemanticComplianceContent = readLocalTemplate("spec/guides/cursor-semantic-compliance.md.txt");
|
|
55
|
-
export const guidesCursorSubagentPolicyContent = readLocalTemplate("spec/guides/cursor-subagent-policy.md.txt");
|
|
56
|
-
export const guidesExecutionStrategyContent = readLocalTemplate("spec/guides/execution-strategy.md.txt");
|
|
57
|
-
export const guidesCursorContextInjectionGuideContent = readLocalTemplate("spec/guides/cursor-context-injection-guide.md.txt");
|
|
58
|
-
export const guidesCursorNativeModesGuideContent = readLocalTemplate("spec/guides/cursor-native-modes-guide.md.txt");
|
|
59
|
-
export const guidesVerificationStrengthGuideContent = readLocalTemplate("spec/guides/verification-strength-guide.md.txt");
|
|
60
|
-
export const guidesInjectionBudgetGuideContent = readLocalTemplate("spec/guides/injection-budget-guide.md.txt");
|
|
61
|
-
export const guidesArtifactLocaleGuideContent = readLocalTemplate("spec/guides/artifact-locale-guide.md.txt");
|
|
62
53
|
export const guidesDebugLoopGuideContent = readLocalTemplate("spec/guides/debug-loop-guide.md.txt");
|
|
63
|
-
export const guidesGoalReleaseRegressionRunbookContent = readLocalTemplate("spec/guides/goal-release-regression-runbook.md.txt");
|
|
64
54
|
export const guidesPrototypeGuideContent = readLocalTemplate("spec/guides/prototype-guide.md.txt");
|
|
65
55
|
export const guidesTestDisciplineGuideContent = readLocalTemplate("spec/guides/test-discipline-guide.md.txt");
|
|
66
56
|
export const guidesCrossPlatformThinkingGuideContent = readLocalTemplate("spec/guides/cross-platform-thinking-guide.md.txt");
|
|
57
|
+
// =============================================================================
|
|
58
|
+
// Framework docs (.cstl/framework/ — framework-owned, refreshed by update)
|
|
59
|
+
// =============================================================================
|
|
60
|
+
export const frameworkIndexContent = readLocalTemplate("framework/index.md.txt");
|
|
61
|
+
export const frameworkRetrievalDailyGuideContent = readLocalTemplate("framework/retrieval-daily-guide.md.txt");
|
|
62
|
+
export const frameworkCursorSemanticComplianceContent = readLocalTemplate("framework/cursor-semantic-compliance.md.txt");
|
|
63
|
+
export const frameworkCursorSubagentPolicyContent = readLocalTemplate("framework/cursor-subagent-policy.md.txt");
|
|
64
|
+
export const frameworkExecutionStrategyContent = readLocalTemplate("framework/execution-strategy.md.txt");
|
|
65
|
+
export const frameworkCursorContextInjectionGuideContent = readLocalTemplate("framework/cursor-context-injection-guide.md.txt");
|
|
66
|
+
export const frameworkCursorNativeModesGuideContent = readLocalTemplate("framework/cursor-native-modes-guide.md.txt");
|
|
67
|
+
export const frameworkVerificationStrengthGuideContent = readLocalTemplate("framework/verification-strength-guide.md.txt");
|
|
68
|
+
export const frameworkInjectionBudgetGuideContent = readLocalTemplate("framework/injection-budget-guide.md.txt");
|
|
69
|
+
export const frameworkArtifactLocaleGuideContent = readLocalTemplate("framework/artifact-locale-guide.md.txt");
|
|
70
|
+
export const frameworkPrdGrillFrontierGuideContent = readLocalTemplate("framework/prd-grill-frontier.md.txt");
|
|
71
|
+
export const frameworkInternalSkillsReachabilityGuideContent = readLocalTemplate("framework/internal-skills-cursor-reachability.md.txt");
|
|
72
|
+
export const frameworkDogfoodOnlySurfacesGuideContent = readLocalTemplate("framework/dogfood-only-surfaces.md.txt");
|
|
73
|
+
/**
|
|
74
|
+
* Single source of truth for `.cstl/framework/` docs.
|
|
75
|
+
* Consumed by init (configurators/workflow.ts) and update (commands/update.ts)
|
|
76
|
+
* so the two paths can never drift.
|
|
77
|
+
*/
|
|
78
|
+
export const frameworkDocs = [
|
|
79
|
+
{ name: "index.md", content: frameworkIndexContent },
|
|
80
|
+
{
|
|
81
|
+
name: "retrieval-daily-guide.md",
|
|
82
|
+
content: frameworkRetrievalDailyGuideContent,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "cursor-semantic-compliance.md",
|
|
86
|
+
content: frameworkCursorSemanticComplianceContent,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: "cursor-subagent-policy.md",
|
|
90
|
+
content: frameworkCursorSubagentPolicyContent,
|
|
91
|
+
},
|
|
92
|
+
{ name: "execution-strategy.md", content: frameworkExecutionStrategyContent },
|
|
93
|
+
{
|
|
94
|
+
name: "cursor-context-injection-guide.md",
|
|
95
|
+
content: frameworkCursorContextInjectionGuideContent,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: "cursor-native-modes-guide.md",
|
|
99
|
+
content: frameworkCursorNativeModesGuideContent,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: "verification-strength-guide.md",
|
|
103
|
+
content: frameworkVerificationStrengthGuideContent,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "injection-budget-guide.md",
|
|
107
|
+
content: frameworkInjectionBudgetGuideContent,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "artifact-locale-guide.md",
|
|
111
|
+
content: frameworkArtifactLocaleGuideContent,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "prd-grill-frontier.md",
|
|
115
|
+
content: frameworkPrdGrillFrontierGuideContent,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: "internal-skills-cursor-reachability.md",
|
|
119
|
+
content: frameworkInternalSkillsReachabilityGuideContent,
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: "dogfood-only-surfaces.md",
|
|
123
|
+
content: frameworkDogfoodOnlySurfacesGuideContent,
|
|
124
|
+
},
|
|
125
|
+
];
|
|
67
126
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF,MAAM,CAAC,MAAM,eAAe,GAAW,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAEtE,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAChC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAE1C,gCAAgC;AAChC,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GACnC,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAErC,gFAAgF;AAChF,0DAA0D;AAC1D,wEAAwE;AACxE,gFAAgF;AAEhF,uCAAuC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAW,iBAAiB,CAC1D,2BAA2B,CAC5B,CAAC;AACF,MAAM,CAAC,MAAM,gCAAgC,GAAW,iBAAiB,CACvE,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,gCAAgC,GAAW,iBAAiB,CACvE,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,+BAA+B,GAAW,iBAAiB,CACtE,wCAAwC,CACzC,CAAC;AACF,MAAM,CAAC,MAAM,+BAA+B,GAAW,iBAAiB,CACtE,wCAAwC,CACzC,CAAC;AACF,MAAM,CAAC,MAAM,2BAA2B,GAAW,iBAAiB,CAClE,oCAAoC,CACrC,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAW,iBAAiB,CAC3D,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,iCAAiC,GAAW,iBAAiB,CACxE,0CAA0C,CAC3C,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAW,iBAAiB,CAChE,kCAAkC,CACnC,CAAC;AACF,MAAM,CAAC,MAAM,6BAA6B,GAAW,iBAAiB,CACpE,sCAAsC,CACvC,CAAC;AACF,MAAM,CAAC,MAAM,kCAAkC,GAAW,iBAAiB,CACzE,2CAA2C,CAC5C,CAAC;AACF,MAAM,CAAC,MAAM,gCAAgC,GAAW,iBAAiB,CACvE,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,8BAA8B,GAAW,iBAAiB,CACrE,uCAAuC,CACxC,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF,MAAM,CAAC,MAAM,eAAe,GAAW,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAEtE,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAChC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAE1C,gCAAgC;AAChC,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GACnC,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAErC,gFAAgF;AAChF,0DAA0D;AAC1D,wEAAwE;AACxE,gFAAgF;AAEhF,uCAAuC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAW,iBAAiB,CAC1D,2BAA2B,CAC5B,CAAC;AACF,MAAM,CAAC,MAAM,gCAAgC,GAAW,iBAAiB,CACvE,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,gCAAgC,GAAW,iBAAiB,CACvE,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,+BAA+B,GAAW,iBAAiB,CACtE,wCAAwC,CACzC,CAAC;AACF,MAAM,CAAC,MAAM,+BAA+B,GAAW,iBAAiB,CACtE,wCAAwC,CACzC,CAAC;AACF,MAAM,CAAC,MAAM,2BAA2B,GAAW,iBAAiB,CAClE,oCAAoC,CACrC,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAW,iBAAiB,CAC3D,4BAA4B,CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,iCAAiC,GAAW,iBAAiB,CACxE,0CAA0C,CAC3C,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAW,iBAAiB,CAChE,kCAAkC,CACnC,CAAC;AACF,MAAM,CAAC,MAAM,6BAA6B,GAAW,iBAAiB,CACpE,sCAAsC,CACvC,CAAC;AACF,MAAM,CAAC,MAAM,kCAAkC,GAAW,iBAAiB,CACzE,2CAA2C,CAC5C,CAAC;AACF,MAAM,CAAC,MAAM,gCAAgC,GAAW,iBAAiB,CACvE,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,8BAA8B,GAAW,iBAAiB,CACrE,uCAAuC,CACxC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAW,iBAAiB,CACzD,0BAA0B,CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,oCAAoC,GAAW,iBAAiB,CAC3E,+CAA+C,CAChD,CAAC;AACF,MAAM,CAAC,MAAM,mCAAmC,GAAW,iBAAiB,CAC1E,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,yCAAyC,GACpD,iBAAiB,CAAC,oDAAoD,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,2BAA2B,GAAW,iBAAiB,CAClE,qCAAqC,CACtC,CAAC;AACF,MAAM,CAAC,MAAM,2BAA2B,GAAW,iBAAiB,CAClE,oCAAoC,CACrC,CAAC;AACF,MAAM,CAAC,MAAM,gCAAgC,GAAW,iBAAiB,CACvE,0CAA0C,CAC3C,CAAC;AACF,MAAM,CAAC,MAAM,uCAAuC,GAClD,iBAAiB,CAAC,kDAAkD,CAAC,CAAC;AAExE,gFAAgF;AAChF,2EAA2E;AAC3E,gFAAgF;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAW,iBAAiB,CAC5D,wBAAwB,CACzB,CAAC;AACF,MAAM,CAAC,MAAM,mCAAmC,GAAW,iBAAiB,CAC1E,wCAAwC,CACzC,CAAC;AACF,MAAM,CAAC,MAAM,wCAAwC,GACnD,iBAAiB,CAAC,6CAA6C,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,oCAAoC,GAAW,iBAAiB,CAC3E,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,iCAAiC,GAAW,iBAAiB,CACxE,qCAAqC,CACtC,CAAC;AACF,MAAM,CAAC,MAAM,2CAA2C,GACtD,iBAAiB,CAAC,iDAAiD,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,sCAAsC,GAAW,iBAAiB,CAC7E,4CAA4C,CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,yCAAyC,GACpD,iBAAiB,CAAC,8CAA8C,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,oCAAoC,GAAW,iBAAiB,CAC3E,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,mCAAmC,GAAW,iBAAiB,CAC1E,wCAAwC,CACzC,CAAC;AACF,MAAM,CAAC,MAAM,qCAAqC,GAAW,iBAAiB,CAC5E,qCAAqC,CACtC,CAAC;AACF,MAAM,CAAC,MAAM,+CAA+C,GAC1D,iBAAiB,CAAC,sDAAsD,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,wCAAwC,GACnD,iBAAiB,CAAC,wCAAwC,CAAC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAGpB;IACJ,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,EAAE;IACpD;QACE,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,mCAAmC;KAC7C;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,wCAAwC;KAClD;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,oCAAoC;KAC9C;IACD,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,iCAAiC,EAAE;IAC7E;QACE,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,2CAA2C;KACrD;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,sCAAsC;KAChD;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,yCAAyC;KACnD;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,oCAAoC;KAC9C;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,mCAAmC;KAC7C;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,qCAAqC;KAC/C;IACD;QACE,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,+CAA+C;KACzD;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,wCAAwC;KAClD;CACF,CAAC"}
|
|
@@ -18,7 +18,7 @@ Run each query in a live Cursor session. Append one JSON object per line to `run
|
|
|
18
18
|
|
|
19
19
|
- `query_id`, `platform`: `"cursor"`
|
|
20
20
|
- `tools_called`, `plan_block_in_prompt`, `semantic_in_plan`
|
|
21
|
-
- Classify with `common/retrieval_tool_classification.py` (see
|
|
21
|
+
- Classify with `common/retrieval_tool_classification.py` (see `.cstl/framework/cursor-semantic-compliance.md`)
|
|
22
22
|
|
|
23
23
|
## Report
|
|
24
24
|
|