arkgate 4.7.2 → 4.7.3

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.
@@ -108,28 +108,28 @@ Where we cannot use a common word — because the thing is ours — **one senten
108
108
  A track so simple a newcomer enters, so strict a senior trusts — and the AI ships faster
109
109
  because the design space is small and honest.
110
110
 
111
- - **Checkpoint side (write checkpoint deny / pass; not a Gateway):** architecture
112
- config (`ark.config.json`) + pre-write block where the host supports it + required CI.
113
- Deterministic. Don’t show green if we could not verify.
114
- Two planes: **import rules** (who may import whom) always; **ArkRules** (structure rules
115
- inside a layer) opt-in. Third extra: **ArkRun** (kernel usage + declarations) via companion
116
- `@arkgate/runtime` not a durability claim.
117
- - **Coach side:** where code belongs, who talks to whom, how; fix imports first, then leftover
118
- design work; one small refactor at a time; never silent auto-reshape; never weaken the config.
119
- - **Five-door autonomy:** invoking `/ark-adopt`, `/ark-place`, `/ark-autopilot`, `/ark-explore`,
120
- or `/ark-upgrade` **is** the approval. The agent writes or maps in that turn. CLI/MCP are
121
- sensor + checkpoint. Silent reshape from the compact router (unasked) stays forbidden.
122
- - **Team parliament:** the architecture file is a **constitution**. A product change must not
123
- amend it. Stewards own loosen and baseline-grow. The ratchet is **new vs the branch you
111
+ - **Reject the write. Fail the PR.** Rules file (`ark.config.json`) + the hook rejects listed
112
+ writes where the host supports it + required CI. Deterministic. Don’t show green if we could
113
+ not verify. Two kinds of rules: **import rules** (who may import whom) always; **ArkRules**
114
+ (extra rules inside a layer) opt-in. Optional extra: **ArkRun** (kernel usage + declarations)
115
+ via companion `@arkgate/runtime` not a durability claim. Not a Gateway.
116
+ - **Where code belongs:** who talks to whom, and how; fix illegal imports first, then leftover
117
+ design work; one small refactor at a time; never silent auto-reshape; never weaken the rules
118
+ file.
119
+ - **Five doors:** invoking `/ark-adopt`, `/ark-place`, `/ark-autopilot`, `/ark-explore`,
120
+ or `/ark-upgrade` **is** the approval. The agent writes or maps in that turn. CLI/MCP check;
121
+ they do not silently rewrite. Silent reshape from the compact router (unasked) stays forbidden.
122
+ - **Team:** the rules file is a different change type than product code. A product change must
123
+ not amend it. Stewards own loosen and baseline-grow. The ratchet is **new vs the branch you
124
124
  merge to**, not only the file on this checkout. A small PR pays `--changed --base`, not
125
125
  the whole tree. Humans who never hit the write hook are allowed to ignore Ark.
126
- - **Agent contract surface (4.3.0):** agents read **guardrail catalogs** and **scan** evidence;
127
- they **process** (judge / coach) outside the package. Projection and skills never become the
128
- pass/fail gate.
129
- - **Improvement compass (4.4.0):** residual architecture work is named as **lenses** (SoC, DIP,
126
+ - **Agent surface (4.3.0):** agents read **guardrail catalogs** and **scan** evidence;
127
+ they **judge** outside the package. Projection and skills never become the
128
+ pass/fail check.
129
+ - **Improvement compass (4.4.0):** leftover architecture work is named as **lenses** (SoC, DIP,
130
130
  domain alignment, …) projected from existing sensors — **never** a 0–10 score or Excellent/Good
131
131
  rank. Out-of-scope lenses (perf, app security tooling, full resilience) stay honest.
132
- - **Vibe-coder dual depth:** human doctor and skills lead with plain outcomes and one next move;
132
+ - **Dual depth:** human doctor and skills lead with plain outcomes and one next move;
133
133
  experts keep full JSON. Full-AI workflows get the same single door — not a skill menu exam.
134
134
  - **False done is forbidden:** “Rules on” ≠ elegant design. Leftover design work must not
135
135
  read as “healthy finished.” Empty ArkRules inventory is not a score. MCP configuration on
@@ -166,31 +166,31 @@ stay stable unless a change explicitly adds an alias.
166
166
 
167
167
  | Prefer (human) | Was / JSON | Use for |
168
168
  |----------------|------------|---------|
169
- | **architecture config** | contract | `ark.config.json` layers, rules, include. Never the first noun. Without the checkpoint, this reader hears **manifesto** |
170
- | **manifesto** (honesty only) | advisory-only / no required CI | What the file is until a write checkpoint binds it. Never the product name |
169
+ | **rules file** (`ark.config.json`) | contract / architecture config | Layers, rules, include. Never the first noun. Without required CI, this reader hears **manifesto** |
170
+ | **manifesto** (honesty only) | advisory-only / no required CI | What the file is until the write is rejected and CI is required. Never the product name |
171
171
  | **import rules** / **allowed dependencies** | Layers plane / edges | Who may import whom; placement, purity, isolation |
172
- | **ArkRules** (opt-in; gloss: structure rules inside a layer) | ArkRules | Intra-layer sensors + domain invariant catalogs (`arkrules/*`) |
173
- | **ArkRun** (opt-in; gloss: kernel usage + complete declarations) | arkRun | Extra plane on the gate; companion kernel is `@arkgate/runtime`; factory `createStrictArkKernel` (per instance, no singleton). Never a score. |
174
- | **advisory ArkRules** | advisory ArkRules | Default sensor mode — **not** merge teeth; does not fail CI/merge alone |
172
+ | **ArkRules** (opt-in; gloss: extra rules inside a layer) | ArkRules | Structure sensors + domain invariant catalogs (`arkrules/*`). Off unless you turn it on. |
173
+ | **ArkRun** (opt-in; gloss: kernel usage + complete declarations) | arkRun | Optional extra; companion kernel is `@arkgate/runtime`; factory `createStrictArkKernel` (per instance, no singleton). Never a score. |
174
+ | **advisory ArkRules** | advisory ArkRules | Default sensor mode — does not fail CI/merge alone |
175
175
  | **extra merge checks** | extraMergeTeeth | Only when enforced structure/invariant rules exist **and** classification is honest |
176
176
  | **label `[Layer]` vs `[ArkRules]`** | dual-plane residual | Never blur import-rule findings with ArkRules findings |
177
177
  | **ArkRules counts** | rulesUnderContract | Doctor/inventory counts — **never a score** |
178
178
  | **type-only import debt** | type-only placement debt | `import type` on the violations list with `failsStrict:false` |
179
- | **write checkpoint** | gate (as first noun) | Pass/fail boundary: pre-write block + required CI. **Not** Fowler Gateway, not a resource wrapper, not a layer in the app |
180
- | **pre-write block** | hard write | Host actually blocks listed edit ops (installed + trusted) |
181
- | **warning only (not blocked)** | advisory write | MCP/rules coach; not a hard block |
179
+ | **the write is rejected** / **required CI check** | write checkpoint / gate (as first noun) | Pass/fail: hook rejects the write + required CI. **Not** Fowler Gateway, not a resource wrapper, not a layer in the app |
180
+ | **the hook rejects the write** | hard write / pre-write block | Host actually blocks listed edit ops (installed + trusted) |
181
+ | **warning only (not blocked)** | advisory write | MCP/rules warn; not a hard block |
182
182
  | **import graph** | edges | Allowed imports (fix these first) |
183
183
  | **baseline** | baseline | Frozen known debt; does not make a wrong config honest |
184
184
  | **fix** | remediation | Fixing violations against the config |
185
185
  | **one small refactor** | pilot | One extraction / reshape cluster at a time |
186
186
  | **shape / leftover design work** | **design-weak** / residual | Imports clean under Enforce, but design smells remain — not “done” |
187
- | **coach** | co-pilot | Guidance that proposes order without silent auto-reshape |
187
+ | **doctor** / **next step** | coach / co-pilot | Guidance that proposes order without silent auto-reshape |
188
188
  | **don’t show green if unverified** | fail-closed | Incomplete analysis or unproven enforcement never looks green |
189
189
  | **honest coverage** | honest coverage | Governed % and empty scope that cannot false-green |
190
190
  | **safe to auto-apply** | mechanical-safe | Deterministic auto-apply class only |
191
191
  | **your judgment** | judgment | Human/agent design work; invoke of an apply door is the approval — not silent compact-router reshape |
192
192
  | **five doors** | skill menu of 13 | adopt · place · autopilot · explore · upgrade — other names are shortcuts |
193
- | **law / constitution** | contract + baseline + ArkRules files | `ark.config.json`, `arkrules/*`, `.ark-baseline.json` — a different change type than product |
193
+ | **rules file + ArkRules files** (different change type than product) | law / constitution / contract + baseline | `ark.config.json`, `arkrules/*`, `.ark-baseline.json` — a product PR must not amend them |
194
194
  | **steward** | contract owner | GitHub handle or email in `stewards`; only they may loosen the law or grow the baseline |
195
195
  | **several hands** | multi-author / CODEOWNERS | Doctor asks for stewards or shows list drift; empty `stewards[]` is unfinished ENFORCE (not Adapt); adopt proposes handles or emails, never invents names |
196
196
  | **contract session** | `--contract-session` | Explicit “this diff is a law change”; required to loosen or grow the baseline even with an empty steward list; still never mixed with product files |
@@ -207,7 +207,7 @@ stay stable unless a change explicitly adds an alias.
207
207
  | **host limitation** | environment residual | Soft-write or uncovered host path (e.g. OpenCode, hosted/specialized tools) — do not paint the whole project unfinished |
208
208
  | **allowed rule ids** | guardrail catalog | Closed vocabulary of sensors, capabilities, `ruleId`s, skill roles |
209
209
  | **check (tool)** | scan | Deterministic engine / CLI / MCP. Same inputs → same verdict. No LLM. |
210
- | **coaching / your judgment** | process | Skill- or agent-side. **Never** package pass/fail |
210
+ | **your judgment** | process / coaching | Skill- or agent-side. **Never** package pass/fail |
211
211
  | **diagnostic code** / **ruleId** | ruleId | Stable public violation id — catalog-linked ([diagnostics.md](diagnostics.md)) |
212
212
  | **agent summary** | agent projection | Version-matched AGENTS/CLAUDE block; **non-authoritative** |
213
213
  | **finding id** | finding ref | Stable id (ruleId + target key) across turns |
@@ -265,7 +265,7 @@ gate → same binary verdict on every parity-capable adapter
265
265
  | Surface | Language to use | Language to avoid |
266
266
  |---------|-----------------|-------------------|
267
267
  | CLI / MCP / CI | “Scan found…”, “Checked edges…”, “Verdict: pass/fail/incomplete” | “The model decided…”, “AI validated architecture” |
268
- | Skills / doctor coach | “Process next: one pilot…”, “Judgment: Shape door…” | “Process mode enforces…”, “Skill pass/fail” |
268
+ | Skills / doctor | “Next: one small refactor…”, “Judgment: Shape door…” | “Process mode enforces…”, “Skill pass/fail” |
269
269
  | Catalog / codes | “ruleId from the diagnostic catalog”, “closed capability set” | Open-ended “any rule string”, free-generated sensors |
270
270
  | Projection / AGENTS.md | “Agent-facing summary; not the gate” | “Follow AGENTS.md to pass CI” |
271
271
 
@@ -274,22 +274,22 @@ gate → same binary verdict on every parity-capable adapter
274
274
  | Do | Example |
275
275
  |----|---------|
276
276
  | Lead first-contact with the deny, then not-that | “If the AI writes an illegal import, the write is rejected. The same check fails the pull request. Not an API Gateway. Not a folder linter.” |
277
- | Name manifesto only when teeth are off | “No required merge status — the architecture file is advisory (a manifesto). Next: require `arkgate-check --strict-merge`.” |
277
+ | Name manifesto only when teeth are off | “No required merge status — the rules file is advisory (a manifesto). Next: require `arkgate-check --strict-merge`.” |
278
278
  | Name the status light + plain fact + next action | “Enforce · leftover design work. Import rules check out; design smells remain. Next: one Shape door — explore → plan B → autopilot with OK.” |
279
279
  | Rank one primary door under residual | Doctor **Primary next action** #1; **Also** only for secondary |
280
280
  | Label expert skills as escapes | “Install skill pack only when doctor or a STOP handoff names a skill.” |
281
281
  | State host write honesty | “Cursor blocks trusted Write/StrReplace. Codex blocks complete trusted local `apply_patch` after runtime observation. Required GitHub status covers every path.” |
282
- | Soft/unverified write ≠ unfinished project | “Architecture config ready; this host operation is advisory or unverified.” Keep environment residual in evidence; reserve **Not finished** for config/project debt. |
282
+ | Soft/unverified write ≠ unfinished project | “Rules file ready; this host operation is a warning, not a block, or unverified.” Keep environment residual in evidence; reserve **Not finished** for config/project debt. |
283
283
  | Keep Suggest on start → doctor | New-here primary is finish `start`, not a competing recommend/architect curriculum |
284
284
  | Qualify import-clean under leftover design | “None on checked imports … leftover design work remains. Not healthy finished.” |
285
- | Prefer unverified-as-not-green | Incomplete analysis, unobserved hooks, and soft MCP never paint as a hard green pre-write block |
285
+ | Prefer unverified-as-not-green | Incomplete analysis, unobserved hooks, and soft MCP never paint as a hard green write rejected” |
286
286
  | State project binding before verdict | “Ark MCP matched this workspace; `ark_manifest` evidence is for this project.” Otherwise: “Ark MCP is configured, but we have not proven this is the right project. Restart and call `ark_identity` with the exact project root.” |
287
287
  | Keep inventory claims evidence-bound | “Possible rule candidate in the configured Application layer.” A filename or technical constant alone is not Domain evidence. |
288
288
  | Honesty clear ≠ architecture healthy | `productHonesty.finished` means residual **architecture** honesty sensors are clear — not a green graph score. Open blocking violations, ADAPT/SUGGEST with debt, dual-truth pin, or design residual keep `unfinished: true`. Permanent soft-write alone does **not**. |
289
289
  | Separate CI runtime from provider policy | Successful CI run ≠ required status; GitHub Free plan 403 → `unavailable-plan`, not “CI never ran.” |
290
290
  | Prefer catalog language for agent DX | “Stable `ruleId` with why/fix anchors.” Not a free-form list of “things that might be wrong.” |
291
291
  | Name the check before coaching | “Check: two layer import violations. Next: fix the Application→Domain import first.” |
292
- | Label projection non-enforcing | “Regenerated agent contract for this package version. Enforcement remains ark-check / hooks / required CI.” |
292
+ | Label projection non-enforcing | “Regenerated agent summary for this package version. The check remains ark-check / hooks / required CI.” |
293
293
  | Keep status counts honest | “Inventory and residual counts are evidence — not a health score.” |
294
294
  | Prefer deep modules | “Small interface, hide the complexity. Name the seam; test at the public interface.” |
295
295
  | Apply the deletion test | “If deleting this extract would vanish the complexity, skip the pass-through; if callers re-absorb it, keep the module.” |
@@ -302,8 +302,8 @@ gate → same binary verdict on every parity-capable adapter
302
302
  |-------|-----|
303
303
  | Leading first-contact with folders, layers, or `ark.config.json` | Old-school SE hears “file structure keeper” |
304
304
  | Bare “gate” as the first unexplained noun on README / use / hub / first-run | They load Fowler Gateway / API Gateway / facade |
305
- | Calling ArkGate a Gateway, facade, adapter, or “abstraction layer” | A Gateway wraps a resource; this checkpoint denies the write |
306
- | “Access resources”, “extend without touching what it represents” | Wrapper-family verbs. The architecture file is law, not a port |
305
+ | Calling ArkGate a Gateway, facade, adapter, or “abstraction layer” | A Gateway wraps a resource; this check rejects the write |
306
+ | “Access resources”, “extend without touching what it represents” | Wrapper-family verbs. The rules file is not a port |
307
307
  | Calling `ark.config.json` a **contract** as the first noun | Old-school SE hears manifesto — intent with no consequence |
308
308
  | “Our architecture manifesto” as product copy | Insult when teeth exist; a lie when they do not. Honesty case = advisory-only |
309
309
  | vibes, “crush it,” emoji rain | Cheap; seniors dismiss it |
@@ -340,10 +340,10 @@ gate → same binary verdict on every parity-capable adapter
340
340
  ## Progressive disclosure (product rule)
341
341
 
342
342
  1. **One primary path** — newcomer does not skill-shop among thirteen `/ark-*` skills.
343
- 2. **Doctor is the control plane** — one status light, one next action (human-grade + technical).
343
+ 2. **Doctor shows what's wrong and what to do first** — one status light, one next action (human-grade + technical).
344
344
  3. **Compact router / default install first** — full skill pack is **expert depth**, not onboarding UI.
345
345
  4. **Post-green shape** is a first-class single door when edges are clean but residual remains.
346
- 5. **Day-to-day** — place + gate protect; guided organize via `/ark-autopilot` when needed.
346
+ 5. **Day-to-day** — place + check protect; guided organize via `/ark-autopilot` when needed.
347
347
 
348
348
  ```text
349
349
  npx arkgate start → start --apply → ark-check --doctor
@@ -365,10 +365,10 @@ Skills table in docs = **escapes / expert**, not a second onboarding track.
365
365
  - Enforce does not mean the design is elegant — only that checked imports are honest.
366
366
  - A clean import check is not “architecture healthy” when leftover design work remains.
367
367
  - One small refactor at a time. Pattern bets are never auto-applied.
368
- - Doctor is the control plane: status light + next action.
369
- - The check is deterministic. Coaching is judgment. Only the gate decides pass/fail.
368
+ - Doctor shows what's wrong and what to do first: status light + next action.
369
+ - The check is deterministic. Your judgment is not. Only the check decides pass/fail.
370
370
  - Guardrails are a catalog, not free generation.
371
- - Agent docs summarize the config; they never replace the gate.
371
+ - Agent docs summarize the rules file; they never replace the check.
372
372
  - **ArkGate** and **ArkRules** are product names — gloss them; don’t invent a second brand.
373
373
 
374
374
  ## Hero phrases (forbidden)
@@ -463,7 +463,7 @@ Invoking a five-door skill **is** the approval. Write or map in the same turn.
463
463
  then check. Forbidden as the deliverable: dumping `--plan` JSON, “approve?”, or
464
464
  `STOP — invoke /ark-X` for work that door absorbs.
465
465
 
466
- **Still never:** weaken the architecture config; invent `mechanical-safe` kinds; claim finished
466
+ **Still never:** weaken the rules file; invent `mechanical-safe` kinds; claim finished
467
467
  while leftover design work remains; batch every Shape bet in one turn.
468
468
 
469
469
  ---
@@ -473,7 +473,7 @@ while leftover design work remains; batch every Shape bet in one turn.
473
473
  - [ ] One next action is obvious.
474
474
  - [ ] Status light is not a mode picker.
475
475
  - [ ] No false done under design-weak / incomplete analysis.
476
- - [ ] Technical terms present (architecture config, import rules, ArkGate, ArkRules) without slang.
476
+ - [ ] Technical terms present (rules file, import rules, ArkGate, ArkRules) without slang.
477
477
  - [ ] Leftover design work is never called “done”.
478
478
  - [ ] Expert skills are labeled expert — not the default curriculum.
479
479
  - [ ] Scan vs process is not blurred with package LLM pass/fail.
@@ -481,5 +481,5 @@ while leftover design work remains; batch every Shape bet in one turn.
481
481
  - [ ] Projection / AGENTS.md never claimed as enforcement.
482
482
  - [ ] Seniors would not be embarrassed to paste the line into a PR.
483
483
  - [ ] First-contact sentence would not read as Fowler Gateway, a folder linter, or a manifesto of intent.
484
- - [ ] Bare “gate” is glossed as write checkpoint / pre-write block / required CI on first use.
484
+ - [ ] Bare “gate” is glossed as the write is rejected / the hook rejects the write / required CI on first use.
485
485
  - [ ] “Contract” never appears as the first noun; without required CI, the file is named a manifesto.
package/docs/use.md CHANGED
@@ -56,8 +56,8 @@ In those cases a boundary linter or editor rules may be enough; see [README —
56
56
  | Before merge | Make the Ark job a **required GitHub status context** running `arkgate-check --strict-merge` (alias `ark-check`). Until that status is required — or you write `.ark/adoption-stance.json` with `stance: "advisory-only"` — doctor will not call the tree adopted. |
57
57
  | Anytime | Doctor: Suggest / Adapt / Enforce (+ leftover design work if the design is still messy) |
58
58
 
59
- **Cursor:** pre-write block for Write/StrReplace when `.cursor/hooks.json` is trusted.
60
- **Codex CLI / local Desktop:** pre-write block for a complete `apply_patch` when
59
+ **Cursor:** the hook rejects Write/StrReplace when `.cursor/hooks.json` is trusted.
60
+ **Codex CLI / local Desktop:** the hook rejects a complete `apply_patch` when
61
61
  `.codex/hooks.json` is trusted and the operation is observed. Hosted/specialized paths,
62
62
  shell/direct writes, and incomplete patches still rely on CI. **OpenCode:** local write stays
63
63
  advisory (warning only, not blocked). An unverified host hook is environment evidence, not
@@ -66,10 +66,10 @@ unfinished architecture; **Not finished** is reserved for real project/config de
66
66
  ArkGate is **not** an API Gateway, a folder linter, a web framework, ORM, or app runtime.
67
67
  The rules file only binds when the write is rejected and CI is required.
68
68
 
69
- ### Planes (you choose)
69
+ ### Two kinds of rules (you choose)
70
70
 
71
- | Plane | Plain English | Config | Enforces |
72
- |-------|---------------|--------|----------|
71
+ | Kind | Plain English | Config | Enforces |
72
+ |------|---------------|--------|----------|
73
73
  | **Layers** | Who may talk to whom | `layers[]` + `rules[]` | Import direction, purity, forbidden globals, capabilities, peer isolation |
74
74
  | **ArkRules** (optional extra) | Habits *inside* a layer + named policies | `arkRules` + `arkrules/<Layer>.json` | Structure **heuristics** (module shape); invariant **catalog + coverage evidence** (not full business proof) |
75
75
  | **ArkRun** (optional extra) | Kernel usage + complete declarations | `arkRun` on schema `1.2` | Only `mode: "enforced"` when the tree is classified. Absence is silent. Doctor `arkRun` is **not a score**. |
@@ -83,7 +83,7 @@ Start always gives you **layers**. ArkRules templates may ship with start/init;
83
83
  **Happy path:** put a new module under an existing layer directory/glob (`layers[].patterns`). Usually
84
84
  **no** `ark.config.json` edit — the file classifies and the existing rules apply.
85
85
 
86
- **Touch the contract only when** you invent a new boundary (new layer or allow/deny edge), leave an
86
+ **Touch the rules file only when** you invent a new boundary (new layer or allow/deny edge), leave an
87
87
  ungoverned path under `include`, or need a capability / forbidden-global exception. Optional ArkRules
88
88
  `appliesTo` globs narrow invariants inside a layer; empty `appliesTo: []` fails closed. Full field
89
89
  list: [configuration.md](configuration.md).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkgate",
3
- "version": "4.7.2",
3
+ "version": "4.7.3",
4
4
  "description": "If the AI writes an illegal import, the write is rejected. The same check fails the pull request.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -200,14 +200,13 @@
200
200
  "architecture-gate",
201
201
  "ai-agents",
202
202
  "mcp",
203
- "write-gate",
203
+ "import-check",
204
204
  "hexagonal",
205
205
  "clean-architecture",
206
206
  "layered-architecture",
207
207
  "import-rules",
208
208
  "dependency-rules",
209
209
  "boundaries",
210
- "co-pilot",
211
210
  "governance",
212
211
  "typescript",
213
212
  "eslint",
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/pedroknigge/arkgate",
7
7
  "source": "github"
8
8
  },
9
- "version": "4.7.2",
9
+ "version": "4.7.3",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "arkgate",
14
- "version": "4.7.2",
14
+ "version": "4.7.3",
15
15
  "runtimeHint": "npx",
16
16
  "transport": {
17
17
  "type": "stdio"
@@ -7,7 +7,7 @@
7
7
  This directory is the **Agent Skills–compatible** packaging of the same **13**
8
8
  `/ark-*` skills shipped as flat templates for Ark install. **No new skill names.**
9
9
 
10
- Package version when last generated context: **arkgate@4.7.2**
10
+ Package version when last generated context: **arkgate@4.7.3**
11
11
  Schema: agent-skills package contract `1.0`
12
12
 
13
13
  ## Skills (frozen catalog)