From dde2b8455f1d87742fe48bbe52c007e5e9c11ba0 Mon Sep 17 00:00:00 2001 From: alex anikin <60673011+anikinsasha@users.noreply.github.com> Date: Mon, 27 Jul 2026 18:12:30 -0700 Subject: [PATCH 1/2] docs: point the versioning rule at its real home, align Feature spelling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LifeosSystemArchitecture.md:305 and SkillSystem.md:218 both cite "OPERATIONAL_RULES.md § Versioning" as the home of the standing three-level version rule. That section does not exist: the shipped USER/CONFIG/OPERATIONAL_RULES.md stub has only Tool & environment, Repo conventions, Deployment, and Vendor-specific sections, and no Version field. The real canonical home is LifeosSystemArchitecture.md § Versioning itself, which states at :303 that the standalone doc was "folded into this section, which is now the canonical reference". Line 305 pointed away from its own section, four lines below the heading. - :305 now states that this section is the standing rule. - SkillSystem.md:218 now cites LifeosSystemArchitecture.md § Versioning. OPERATIONAL_RULES.md is also the wrong home architecturally: it is a per-principal USER file shipped as an empty stub, so a system-wide rule placed there would not survive into any install. Separately, CreateSkill/SKILL.md:428 said MAJOR.MINOR.PATCH while both system docs say Major.Feature.Patch and explicitly note the middle number is "Feature, not minor". CreateSkill's own workflow files (Workflows/CreateSkill.md:326, Workflows/UpdateSkill.md:136) already use patch/feature/major, leaving :428 the only holdout. Normalized. --- LifeOS/install/LIFEOS/DOCUMENTATION/LifeosSystemArchitecture.md | 2 +- LifeOS/install/LIFEOS/DOCUMENTATION/Skills/SkillSystem.md | 2 +- LifeOS/install/skills/CreateSkill/SKILL.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LifeOS/install/LIFEOS/DOCUMENTATION/LifeosSystemArchitecture.md b/LifeOS/install/LIFEOS/DOCUMENTATION/LifeosSystemArchitecture.md index 18f206a907..df50e3b0eb 100755 --- a/LifeOS/install/LIFEOS/DOCUMENTATION/LifeosSystemArchitecture.md +++ b/LifeOS/install/LIFEOS/DOCUMENTATION/LifeosSystemArchitecture.md @@ -302,7 +302,7 @@ It used to turn a raw prompt into a posture: mode, effort tier, the stated goal, **How every change gets the right version and every version number stays coherent.** This is a convention plus a set of tools, not a named subsystem — the "Ledger" name (assigned 2026-07-06) was retired 2026-07-12 and its standalone doc folded into this section, which is now the canonical reference. -Every live version identifier is exactly three levels, **`Major.Feature.Patch`** — the OS umbrella (`LIFEOS/VERSION`), the Algorithm, the system prompt, the ISA Format spec, Memory, every skill's `version:`, every hook's `@version`, and every living doc's `version:`. The middle number is **Feature**, not "minor." Gates: Major = human conversation before the bump; Feature = one-line confirm at ship time; Patch = auto-applies with a visible notice. Historical changelog entries stay as recorded — no back-filling. The standing rule lives in `OPERATIONAL_RULES.md` § Versioning. +Every live version identifier is exactly three levels, **`Major.Feature.Patch`** — the OS umbrella (`LIFEOS/VERSION`), the Algorithm, the system prompt, the ISA Format spec, Memory, every skill's `version:`, every hook's `@version`, and every living doc's `version:`. The middle number is **Feature**, not "minor." Gates: Major = human conversation before the bump; Feature = one-line confirm at ship time; Patch = auto-applies with a visible notice. Historical changelog entries stay as recorded — no back-filling. This section is the standing rule. Two granularities of the same fact: the **OS umbrella** rolls up every substantive change, while **component lines** (Algorithm, system prompt, skills, hooks, docs, ISA Format, Memory) bump independently and roll into it — which is why a single skill edit bumps both the skill's `version:` and `LIFEOS/VERSION`. diff --git a/LifeOS/install/LIFEOS/DOCUMENTATION/Skills/SkillSystem.md b/LifeOS/install/LIFEOS/DOCUMENTATION/Skills/SkillSystem.md index bbc7080348..6d9935ded9 100755 --- a/LifeOS/install/LIFEOS/DOCUMENTATION/Skills/SkillSystem.md +++ b/LifeOS/install/LIFEOS/DOCUMENTATION/Skills/SkillSystem.md @@ -215,7 +215,7 @@ science_cycle_time: meso # Optional: micro | meso | macro --- ``` -**Per-skill versioning.** Every skill carries its own `version:` — always three levels, **`Major.Feature.Patch`** (system-wide rule; see OPERATIONAL_RULES) — independent of the OS version (`LIFEOS/VERSION`) and of every other skill — the same umbrella model the Algorithm and Memory lines use. A new skill scaffolds at `1.0.0` (CreateSkill stamps it). Bumps are NOT hand-applied; at private-sync time the `` `UpdateKaiRepo` / `VersionBump` flow runs `BumpSkillVersions.ts`, which scopes `ClassifyChange --path skills/` per changed skill and bumps its `version:` (patch/feature/major, major human-gated), recording each in the SYSTEMUPDATES registry. A skill edit rolls up into the OS version too. Public skills inherit the private `version:` at release/emit time — there is no separate public version line. +**Per-skill versioning.** Every skill carries its own `version:` — always three levels, **`Major.Feature.Patch`** (system-wide rule; see `LifeosSystemArchitecture.md` § Versioning) — independent of the OS version (`LIFEOS/VERSION`) and of every other skill — the same umbrella model the Algorithm and Memory lines use. A new skill scaffolds at `1.0.0` (CreateSkill stamps it). Bumps are NOT hand-applied; at private-sync time the `` `UpdateKaiRepo` / `VersionBump` flow runs `BumpSkillVersions.ts`, which scopes `ClassifyChange --path skills/` per changed skill and bumps its `version:` (patch/feature/major, major human-gated), recording each in the SYSTEMUPDATES registry. A skill edit rolls up into the OS version too. Public skills inherit the private `version:` at release/emit time — there is no separate public version line. **Rules:** - `name` uses **TitleCase** diff --git a/LifeOS/install/skills/CreateSkill/SKILL.md b/LifeOS/install/skills/CreateSkill/SKILL.md index cdbe1ed9fa..61ca82934f 100644 --- a/LifeOS/install/skills/CreateSkill/SKILL.md +++ b/LifeOS/install/skills/CreateSkill/SKILL.md @@ -425,7 +425,7 @@ Skills can include hooks that activate only when invoked, remaining effective fo ## Versioning -Every skill carries its own `version:` semver in SKILL.md frontmatter (`MAJOR.MINOR.PATCH`), independent of the OS version and of other skills. A new skill scaffolds at `version: 1.0.0`. A skill change is ALSO an OS change — `skills/` is part of the core-file surface the LifeOS version system watches — so editing a skill moves both the skill's own version AND (rolled up) the canonical `LIFEOS/VERSION`. The two lines are separate: the skill's `version:` is its own lineage; `LIFEOS/VERSION` is the umbrella. CreateSkill never edits `LIFEOS/VERSION` itself. +Every skill carries its own `version:` semver in SKILL.md frontmatter (`Major.Feature.Patch`), independent of the OS version and of other skills. A new skill scaffolds at `version: 1.0.0`. A skill change is ALSO an OS change — `skills/` is part of the core-file surface the LifeOS version system watches — so editing a skill moves both the skill's own version AND (rolled up) the canonical `LIFEOS/VERSION`. The two lines are separate: the skill's `version:` is its own lineage; `LIFEOS/VERSION` is the umbrella. CreateSkill never edits `LIFEOS/VERSION` itself. Classify the change so the bump level is right (the SAME rubric applies to the per-skill bump and the roll-up): From 80aa6a2aee8cfb946cb0c0c91da426fe3c69da30 Mon Sep 17 00:00:00 2001 From: alex anikin <60673011+anikinsasha@users.noreply.github.com> Date: Mon, 27 Jul 2026 18:12:40 -0700 Subject: [PATCH 2/2] docs(isa): add PRD and design-doc aliases to the ISA skill USE WHEN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ISA skill is effectively unroutable by its own vocabulary. Its USE WHEN reads "ISA, ISC, ideal state, ideal state criteria, project specification, hill-climb, articulating done" — but "ISA" and "ISC" are three characters, and the USE WHEN parser drops phrases shorter than six characters. The indexed trigger set therefore contains only the multiword phrases, and the skill's two primary names match nothing. "PRD" is a trigger nowhere in the tree, so "design a PRD" — a very common way to ask for exactly this artifact — matches no skill at all. Adds PRD, design doc, and design architecture. "design doc" (10 chars) and "design architecture" (19) clear the six-character filter and index normally; "PRD" stays useful to the model reading the description even though the index filters it, and costs three characters to carry. Description goes 440 -> 478 characters, within the 500-character recommendation. Additive only: no existing trigger is changed or removed, so no current routing behavior is altered. --- LifeOS/install/skills/ISA/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LifeOS/install/skills/ISA/SKILL.md b/LifeOS/install/skills/ISA/SKILL.md index 728c0e9e67..23ec533f14 100644 --- a/LifeOS/install/skills/ISA/SKILL.md +++ b/LifeOS/install/skills/ISA/SKILL.md @@ -1,7 +1,7 @@ --- name: ISA version: 1.0.13 -description: "Owns the Ideal State Artifact — the primitive holding a project or task's articulated ideal state; scaffolds, interviews, scores completeness, reconciles feature excerpts to master, seeds from a repo, and appends decisions/changelog/verification across a locked fourteen-section order. USE WHEN ISA, ISC, ideal state, ideal state criteria, project specification, hill-climb, articulating done. NOT FOR creating new skills (use CreateSkill)." +description: "Owns the Ideal State Artifact — the primitive holding a project or task's articulated ideal state; scaffolds, interviews, scores completeness, reconciles feature excerpts to master, seeds from a repo, and appends decisions/changelog/verification across a locked fourteen-section order. USE WHEN ISA, ISC, PRD, ideal state, ideal state criteria, design doc, design architecture, project specification, hill-climb, articulating done. NOT FOR creating new skills (use CreateSkill)." effort: medium ---