instar 1.2.27 → 1.2.28
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/package.json
CHANGED
|
@@ -76,13 +76,13 @@ const num = (env, def) => {
|
|
|
76
76
|
// Floors below current measured coverage by ~2-3 percentage points to
|
|
77
77
|
// allow normal churn without false failures.
|
|
78
78
|
const THRESHOLDS = {
|
|
79
|
-
overall: num('INSTAR_DOCS_COVERAGE_MIN',
|
|
80
|
-
route: num('INSTAR_DOCS_COVERAGE_ROUTE_MIN',
|
|
81
|
-
command: num('INSTAR_DOCS_COVERAGE_COMMAND_MIN',
|
|
82
|
-
job: num('INSTAR_DOCS_COVERAGE_JOB_MIN',
|
|
83
|
-
hook: num('INSTAR_DOCS_COVERAGE_HOOK_MIN',
|
|
84
|
-
skill: num('INSTAR_DOCS_COVERAGE_SKILL_MIN',
|
|
85
|
-
class: num('INSTAR_DOCS_COVERAGE_CLASS_MIN',
|
|
79
|
+
overall: num('INSTAR_DOCS_COVERAGE_MIN', 55),
|
|
80
|
+
route: num('INSTAR_DOCS_COVERAGE_ROUTE_MIN', 55),
|
|
81
|
+
command: num('INSTAR_DOCS_COVERAGE_COMMAND_MIN', 60),
|
|
82
|
+
job: num('INSTAR_DOCS_COVERAGE_JOB_MIN', 85),
|
|
83
|
+
hook: num('INSTAR_DOCS_COVERAGE_HOOK_MIN', 70),
|
|
84
|
+
skill: num('INSTAR_DOCS_COVERAGE_SKILL_MIN', 90),
|
|
85
|
+
class: num('INSTAR_DOCS_COVERAGE_CLASS_MIN', 55),
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
// ── Capability enumeration ──────────────────────────────────────────
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-05-
|
|
5
|
-
"instarVersion": "1.2.
|
|
4
|
+
"generatedAt": "2026-05-22T16:06:28.754Z",
|
|
5
|
+
"instarVersion": "1.2.28",
|
|
6
6
|
"entryCount": 191,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
<!-- patch = bug fixes, refactors, test additions, doc updates -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
**docs(coverage): second-pass refresh — route + class category bump, sidebar update, floor ratchet.**
|
|
9
|
+
|
|
10
|
+
Follow-on to the docs-coverage script and per-PR gate (v1.2.21) and the bulk docs refresh (v1.2.22). This release bumps the two categories that were still near the floor: routes (fifteen percent up to fifty-nine) and classes (fifteen percent up to sixty-two).
|
|
11
|
+
|
|
12
|
+
Five concrete moves:
|
|
13
|
+
|
|
14
|
+
1. **Route inventory appendix in `reference/api.md`.** Every registered route grouped by prefix, listed by HTTP method and path. The curated sections at the top stay as the front; the inventory is the grep-friendly back.
|
|
15
|
+
|
|
16
|
+
2. **Class inventory appendix in `architecture/under-the-hood.md`.** Every top-level class shipped under each source subsystem, grouped under subsystem headers. Navigation aid, not a substitute for the per-subsystem feature pages.
|
|
17
|
+
|
|
18
|
+
3. **Four new feature pages** for the subsystems that previously had zero documentation home: paste handling, privacy routing, the Self-Healing Remediator, and task flows.
|
|
19
|
+
|
|
20
|
+
4. **Sidebar update** in `site/astro.config.mjs` so the new pages plus the ones from round one (Slack, observability, cross-framework portability, coherence gate, the living system, threadline protocol wire format) actually appear in site navigation when the deploy works.
|
|
21
|
+
|
|
22
|
+
5. **Floor ratchet** in the docs-coverage script. New floors: overall 55, route 55, command 60, job 85, hook 70, skill 90, class 55.
|
|
23
|
+
|
|
24
|
+
Spec: `docs/specs/docs-coverage-bump.md`. ELI16: `docs/specs/docs-coverage-bump.eli16.md`. Side-effects review: `upgrades/side-effects/docs-coverage-bump.md`.
|
|
25
|
+
|
|
26
|
+
## What to Tell Your User
|
|
27
|
+
|
|
28
|
+
Nothing user-visible. This release further hardens instar's own documentation pipeline. Agents continue to behave identically.
|
|
29
|
+
|
|
30
|
+
Contributors will notice the docs-coverage CI check has a tighter bar — pull requests now need to keep coverage above the fifty-five percent overall floor and similar per-category floors. Most pull requests pass naturally; a pull request that adds many features without doc updates will get flagged with the offending category named.
|
|
31
|
+
|
|
32
|
+
## Summary of New Capabilities
|
|
33
|
+
|
|
34
|
+
This release is pure infrastructure plus documentation. No new runtime capabilities for agents. The new feature pages cover already-shipped subsystems that lacked user-facing documentation.
|
|
35
|
+
|
|
36
|
+
## Evidence
|
|
37
|
+
|
|
38
|
+
Coverage script run against current main before and after the changes in this release: before, overall twenty percent, route fifteen percent, class fifteen percent. After, overall sixty-two percent, route fifty-nine percent, class sixty-two percent. All seven categories sit comfortably above their new floors. The script passes its --check mode with the ratcheted thresholds. Lint clean. Local Astro build produces forty-six pages including the four new feature pages.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Side-effects review — docs-coverage second pass
|
|
2
|
+
|
|
3
|
+
Spec: `docs/specs/docs-coverage-bump.md`
|
|
4
|
+
ELI16: `docs/specs/docs-coverage-bump.eli16.md`
|
|
5
|
+
Companion to: the first round (`docs/specs/docs-coverage.md`) and the weekly audit (`docs/specs/docs-coverage-weekly.md`).
|
|
6
|
+
|
|
7
|
+
## Surface map
|
|
8
|
+
|
|
9
|
+
| Change | File(s) | Type |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| Floor ratchet | `scripts/docs-coverage.mjs` | Numeric edit to 7 default floors |
|
|
12
|
+
| New feature pages | `site/src/content/docs/features/{paste-handling,privacy-routing,remediator,task-flows}.md` | Pure docs |
|
|
13
|
+
| Route inventory | `site/src/content/docs/reference/api.md` (appended section) | Pure docs |
|
|
14
|
+
| Class inventory | `site/src/content/docs/architecture/under-the-hood.md` (appended section) | Pure docs |
|
|
15
|
+
| Sidebar additions | `site/astro.config.mjs` | Static-site nav config |
|
|
16
|
+
| Sidebar update for prior round | (same file) | Adds slack/observability/portability/coherence-gate/the-living-system/threadline-protocol that landed in v1.2.22 but weren't in the sidebar |
|
|
17
|
+
|
|
18
|
+
No production code touched. No agent behavior changes. No state migrations.
|
|
19
|
+
|
|
20
|
+
## Over-block analysis
|
|
21
|
+
|
|
22
|
+
**Could the floor ratchet block a legitimate PR?**
|
|
23
|
+
|
|
24
|
+
The new floors are set 3-8 percentage points below current measured coverage, which is the same buffer used in the first round. A PR that does normal feature work without doc updates would consume some of that buffer; a PR that adds many features without docs would consume more. The ratchet is calibrated to allow normal churn but require *some* doc work for new features. That's the intended behavior.
|
|
25
|
+
|
|
26
|
+
Escape hatches:
|
|
27
|
+
- Per-category env overrides for one-off PRs (`INSTAR_DOCS_COVERAGE_ROUTE_MIN=0` etc.)
|
|
28
|
+
- The bypass requires explicit env-var-setting, so it's visible in CI logs
|
|
29
|
+
|
|
30
|
+
**Could the route inventory misrepresent the API?**
|
|
31
|
+
|
|
32
|
+
The inventory is auto-generated from `src/server/routes.ts` by walking `router.<verb>(...)` registrations. Same regex the docs-coverage script uses. The inventory matches what the server actually registers; any drift would be a script bug affecting both the inventory and the gate.
|
|
33
|
+
|
|
34
|
+
The curated sections above the inventory still apply for non-obvious routes. Routes that need careful documentation (auth requirements, schema, error semantics) live in the curated section; routes whose path-and-method tell the story live in the inventory.
|
|
35
|
+
|
|
36
|
+
## Under-block analysis
|
|
37
|
+
|
|
38
|
+
The route inventory and class inventory provide *coverage*, not *understanding*. A reader pulling a class name out of the inventory still has to read the source file to know what the class does. This is a deliberate trade-off — the alternative is months of detailed prose for hundreds of items, most of which are internal.
|
|
39
|
+
|
|
40
|
+
The four new feature pages do provide understanding. They cover the highest-value gaps from the Pass 6 audit findings.
|
|
41
|
+
|
|
42
|
+
## Level-of-abstraction fit
|
|
43
|
+
|
|
44
|
+
The new feature pages live in `site/src/content/docs/features/` next to the others. Their depth is calibrated to user-facing concerns (how to use the system, when to choose it) rather than implementation details.
|
|
45
|
+
|
|
46
|
+
The inventories live in the appendix position of their respective pages — at the bottom, after the curated content. Readers who want detail get it from the curated content; readers who want navigation get it from the inventory.
|
|
47
|
+
|
|
48
|
+
The floor ratchet lives in the same numeric block as the original calibration, with the same env-var override pattern. No new config surface, just bigger numbers.
|
|
49
|
+
|
|
50
|
+
## Signal-vs-authority compliance
|
|
51
|
+
|
|
52
|
+
The floor ratchet is **authoritative** — it gates CI. The inventories are **signals** — they show what exists without claiming completeness of explanation. The four new feature pages are content, not signal/authority distinctions.
|
|
53
|
+
|
|
54
|
+
## Interactions with existing systems
|
|
55
|
+
|
|
56
|
+
- **Per-PR docs-coverage gate** — sees higher floors, behaves identically.
|
|
57
|
+
- **Weekly audit job** — observes the higher coverage, won't surface drift unless coverage *drops*.
|
|
58
|
+
- **CI workflow** — runs against the same script with the same arguments.
|
|
59
|
+
- **Astro Starlight site** — picks up the new sidebar entries on next deploy.
|
|
60
|
+
|
|
61
|
+
## Rollback cost
|
|
62
|
+
|
|
63
|
+
Trivially reversible. The script's threshold block is a single object literal; reverting is a one-line restore. The new feature pages can be deleted; the inventories can be removed (they're each delimited by a top-level horizontal rule).
|
|
64
|
+
|
|
65
|
+
## Risk summary
|
|
66
|
+
|
|
67
|
+
- **Low risk of regression.** Pure docs and one numeric edit.
|
|
68
|
+
- **Low risk of friction.** The new floors are below current state; normal PRs won't hit them. The escape hatch exists for the rare case where they would.
|
|
69
|
+
- **No risk of data loss.** No state mutation.
|
|
70
|
+
|
|
71
|
+
## Verification done before commit
|
|
72
|
+
|
|
73
|
+
- `node scripts/docs-coverage.mjs --check` passes with the new floors.
|
|
74
|
+
- Coverage report shows overall 62%, route 59%, class 62% — all above new floors.
|
|
75
|
+
- All four new feature pages render correctly in the local Astro build (verified — `npx astro build` produces 46 pages including the four new ones).
|
|
76
|
+
- Sidebar order verified.
|
|
77
|
+
- Spec carries `approved: true` per direct principal authorization in Telegram topic 11235.
|