projectstore-claude 0.30.1 โ 0.30.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/node_modules/projectstore/.claude-plugin/marketplace.json +1 -1
- package/node_modules/projectstore/.claude-plugin/plugin.json +1 -1
- package/node_modules/projectstore/README.md +3 -3
- package/node_modules/projectstore/docs/getting-started.md +1 -1
- package/node_modules/projectstore/harnesses/claude-code.json +52 -1
- package/node_modules/projectstore/harnesses/codex.json +32 -1
- package/node_modules/projectstore/package.json +1 -1
- package/node_modules/projectstore/scripts/configure-menu.mjs +589 -0
- package/node_modules/projectstore/scripts/configure.mjs +87 -76
- package/node_modules/projectstore/scripts/harness.mjs +13 -3
- package/node_modules/projectstore/scripts/menu.mjs +742 -0
- package/node_modules/projectstore/scripts/models.mjs +505 -0
- package/node_modules/projectstore/scripts/term.mjs +167 -0
- package/package.json +2 -2
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"name": "projectstore",
|
|
13
13
|
"displayName": "projectstore",
|
|
14
14
|
"description": "๐ Your agent runs the project through a verified loop: task โ artifact (ADR ยท spec ยท epic ยท story) โ adversarial critic โ backlog โ planner โ reviewer โ done. Plain markdown in an Obsidian-friendly vault, every write approved by you โ and any model can pick the project up tomorrow.",
|
|
15
|
-
"version": "0.30.
|
|
15
|
+
"version": "0.30.2",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "Evgenii Konev",
|
|
18
18
|
"email": "ekonev@smartandpoint.com",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projectstore",
|
|
3
3
|
"displayName": "projectstore",
|
|
4
|
-
"version": "0.30.
|
|
4
|
+
"version": "0.30.2",
|
|
5
5
|
"description": "Your agent runs the project through a verified loop: task โ artifact (ADR / spec / epic / story) โ adversarial critic โ backlog โ planner โ reviewer โ done. Plain markdown in git โ any model can pick the project up tomorrow.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Evgenii Konev @ SmartAndPoint",
|
|
@@ -208,14 +208,14 @@ Setup asks only what a first install needs. Everything after it is one command,
|
|
|
208
208
|
npx projectstore configure
|
|
209
209
|
```
|
|
210
210
|
|
|
211
|
-
At a terminal it
|
|
211
|
+
At a terminal it opens a settings menu that works like a monitor's: โ and โ move, โ opens a group or a setting in a frame beside it, space chooses, โ goes back, and Enter shows the plan. A second Enter writes it. Under the frames, a few lines say what the row under the cursor means. The settings:
|
|
212
212
|
|
|
213
|
-
- each agent's model, per harness;
|
|
213
|
+
- each agent's model, per harness. Claude Code offers its aliases: `fable`, `opus`, `sonnet` and `haiku`. Codex offers its own list of models, with its descriptions. With `ANTHROPIC_API_KEY` set, each alias also names the newest model of its line. A list is kept for a day in projectstore's user cache, and "refresh the list" asks again;
|
|
214
214
|
- the status line and the band above the prompt (Claude Code);
|
|
215
215
|
- the vault's template language, the default author and tags;
|
|
216
216
|
- the vault's spec policy and lifecycle gates.
|
|
217
217
|
|
|
218
|
-
|
|
218
|
+
Without a terminal it prints every setting with its current value and where it lives, and writes nothing. To change a setting there, name it with `--set`; naming it is the confirmation:
|
|
219
219
|
|
|
220
220
|
```
|
|
221
221
|
npx projectstore configure --set agents.critic=fable --set statusline=on
|
|
@@ -97,7 +97,7 @@ After setup, every setting is one command away, from a terminal in your project:
|
|
|
97
97
|
npx projectstore configure
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
|
|
100
|
+
At a terminal it opens a settings menu: each agent's model, the status line and the band, the template language, and the vault's spec policy and lifecycle gates. โ and โ move, โ opens, space chooses, โ goes back, and Enter shows one plan; a second Enter writes it. A model is chosen from its harness's list: Claude Code's aliases, or Codex's own models. Without a terminal it prints the settings with their values and the file each one lives in. From a script or an agent, name the change; naming it is the confirmation:
|
|
101
101
|
|
|
102
102
|
```
|
|
103
103
|
npx projectstore configure --set language=de --set lifecycle_gates=on
|
|
@@ -533,6 +533,57 @@
|
|
|
533
533
|
"carries_model": true,
|
|
534
534
|
"cheap_model": "sonnet",
|
|
535
535
|
"cheap_model_evidence": "measured",
|
|
536
|
-
"cheap_model_reason": "The model the clerk is pinned to when a strong default would otherwise lift it (ADR-008). A literal here, in the one file allowed to name a harness's vocabulary; it used to be a literal in scripts/cli.mjs, which made `agents configure --harness codex` write an Anthropic model name into a Codex overlay. MEASURED in the sense that matters: this is the model the clerk has been running on since ADR-008, in this repository, and tests/overlay.test.mjs asserts the pin end to end."
|
|
536
|
+
"cheap_model_reason": "The model the clerk is pinned to when a strong default would otherwise lift it (ADR-008). A literal here, in the one file allowed to name a harness's vocabulary; it used to be a literal in scripts/cli.mjs, which made `agents configure --harness codex` write an Anthropic model name into a Codex overlay. MEASURED in the sense that matters: this is the model the clerk has been running on since ADR-008, in this repository, and tests/overlay.test.mjs asserts the pin end to end.",
|
|
537
|
+
"models": {
|
|
538
|
+
"spawn_takes": "alias",
|
|
539
|
+
"spawn_takes_evidence": "measured",
|
|
540
|
+
"spawn_takes_reason": "The Agent tool's `model` parameter is an enum, [\"sonnet\", \"opus\", \"haiku\", \"fable\"], in the tool schema Claude Code 2.1.296 gave a session on 2026-10-13. The registration block tells the session to pass the overlay's model as that parameter, so an overlay value outside the enum fails at every spawn of that agent. Only an agent definition's frontmatter takes a full model name, and ADR-008 retired the copies that carried one. So the list offers the aliases, never an exact id (the ADR \"Agent model lists are read from each harness's own catalog, declared in its manifest and cached for a day\", decision 1).",
|
|
541
|
+
"static": [
|
|
542
|
+
{
|
|
543
|
+
"id": "fable",
|
|
544
|
+
"family": "fable",
|
|
545
|
+
"description": "Follows the newest Fable model: Claude Code resolves the alias when it starts the agent."
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"id": "opus",
|
|
549
|
+
"family": "opus",
|
|
550
|
+
"description": "Follows the newest Opus model: Claude Code resolves the alias when it starts the agent."
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"id": "sonnet",
|
|
554
|
+
"family": "sonnet",
|
|
555
|
+
"description": "Follows the newest Sonnet model: Claude Code resolves the alias when it starts the agent."
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"id": "haiku",
|
|
559
|
+
"family": "haiku",
|
|
560
|
+
"description": "Follows the newest Haiku model: Claude Code resolves the alias when it starts the agent."
|
|
561
|
+
}
|
|
562
|
+
],
|
|
563
|
+
"static_reason": "The enum above, in the order the menu lists it. A line the catalog below reports that this list lacks is never offered: a Claude Code release that adds an alias is named with `--set`, with the warning, until this list learns it.",
|
|
564
|
+
"catalogs": [
|
|
565
|
+
{
|
|
566
|
+
"kind": "http",
|
|
567
|
+
"source": "the Anthropic API",
|
|
568
|
+
"caption": "Anthropic API",
|
|
569
|
+
"url": "https://api.anthropic.com/v1/models?limit=1000",
|
|
570
|
+
"base_env": "ANTHROPIC_BASE_URL",
|
|
571
|
+
"path": "/v1/models?limit=1000",
|
|
572
|
+
"key_env": "ANTHROPIC_API_KEY",
|
|
573
|
+
"key_header": "x-api-key",
|
|
574
|
+
"headers": { "anthropic-version": "2023-06-01" },
|
|
575
|
+
"fields": {
|
|
576
|
+
"list": "data",
|
|
577
|
+
"id": "id",
|
|
578
|
+
"label": "display_name",
|
|
579
|
+
"family": "line",
|
|
580
|
+
"order": "created_at",
|
|
581
|
+
"order_desc": true,
|
|
582
|
+
"keep_when": { "lifecycle": "active" }
|
|
583
|
+
},
|
|
584
|
+
"reason": "Measured 2026-10-13: 14 models in 0.5โ0.7 s, each with id, display_name, created_at, line (fable, opus, sonnet, haiku) and lifecycle. `line` is the family an alias follows, so the newest active entry of a line is the best local account of what that alias starts; Claude Code resolves the alias itself. Read only when a model list opens with a stale cache, or on refresh, and only with ANTHROPIC_API_KEY set; ANTHROPIC_BASE_URL, when set, is the base the key belongs to."
|
|
585
|
+
}
|
|
586
|
+
]
|
|
587
|
+
}
|
|
537
588
|
}
|
|
538
589
|
}
|
|
@@ -357,6 +357,37 @@
|
|
|
357
357
|
"effort_key": "model_reasoning_effort",
|
|
358
358
|
"effort_evidence": "documented",
|
|
359
359
|
"effort_precedence": "explicit spawn value, then the [agents] default from config, then the parent agent's value. A model chosen without an effort uses that model's default effort.",
|
|
360
|
-
"effort_reason": "Recorded, not yet consumed: the overlay's allowlist rejects an effort key and rewrites it out, deliberately, until the story Per-agent effort returns decides whether a role's effort travels in a rendered definition or at spawn. Documented 2026-09-08; the `ultra` level is Codex's and is not a level Claude Code accepts."
|
|
360
|
+
"effort_reason": "Recorded, not yet consumed: the overlay's allowlist rejects an effort key and rewrites it out, deliberately, until the story Per-agent effort returns decides whether a role's effort travels in a rendered definition or at spawn. Documented 2026-09-08; the `ultra` level is Codex's and is not a level Claude Code accepts.",
|
|
361
|
+
"models": {
|
|
362
|
+
"spawn_takes": "id",
|
|
363
|
+
"spawn_takes_evidence": "documented",
|
|
364
|
+
"spawn_takes_reason": "A Codex agent's model is passed at spawn by its slug: Codex's subagents documentation (learn.chatgpt.com/docs/agent-configuration/subagents, read 2026-10-13) says explicit spawn values override agents.default_subagent_model, and a wrong slug fails at spawn time, on the harness (cheap_model_reason above). So the list is Codex's own catalog, the slugs it shows in its picker.",
|
|
365
|
+
"static": [],
|
|
366
|
+
"fields": {
|
|
367
|
+
"list": "models",
|
|
368
|
+
"id": "slug",
|
|
369
|
+
"label": "display_name",
|
|
370
|
+
"description": "description",
|
|
371
|
+
"order": "priority",
|
|
372
|
+
"shown_when": { "visibility": "list" }
|
|
373
|
+
},
|
|
374
|
+
"catalogs": [
|
|
375
|
+
{
|
|
376
|
+
"kind": "file",
|
|
377
|
+
"source": "Codex",
|
|
378
|
+
"caption": "Codex",
|
|
379
|
+
"path": "models_cache.json",
|
|
380
|
+
"fields": { "at": "fetched_at" },
|
|
381
|
+
"reason": "Codex's own catalog under its home ($CODEX_HOME, else ~/.codex), which Codex refreshes itself. Measured 2026-10-13 on codex-cli 0.162.1: fetched_at, client_version and models[] with slug, display_name, description, visibility (list or hide), priority and upgrade."
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"kind": "command",
|
|
385
|
+
"source": "Codex",
|
|
386
|
+
"caption": "Codex",
|
|
387
|
+
"argv": ["codex", "debug", "models"],
|
|
388
|
+
"reason": "Prints the same catalog as JSON after Codex refreshes it with its own login: 88โ103 ms on codex-cli 0.162.1, measured 2026-10-13. A debug subcommand: if a release drops it, the file above keeps the list, and this argv is where it changes (app-server's model/list is the experimental alternative)."
|
|
389
|
+
}
|
|
390
|
+
]
|
|
391
|
+
}
|
|
361
392
|
}
|
|
362
393
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projectstore",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.2",
|
|
4
4
|
"description": "Your agent runs the project through a verified loop: task โ artifact (ADR / spec / epic / story) โ adversarial critic โ backlog โ planner โ reviewer โ done. Plain markdown in git โ any model can pick the project up tomorrow.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"project-management",
|