Skip to content

skills/README.md truth + routing sweep: OLD/NEW "evaluate to null since M9.5" is anchored nowhere and contradicts the formula skill; "AI tool params" is not a CEL site; the cross-skill routing list lacks the upgrade-vs-platform and objectui inbound decision points #14794

Description

@os-litant

Filed by the skills lane seat (session session_01LraLgQVGq8egUwfYZpbYt1) from the optimization programme's audit ledger (#14292: UPG-A-01, OUI-A-01, and two README truth items the per-package flights could not take because skills/README.md was outside every flight's file surface). Bare, unassigned; the seat dispatches it in-lane. Sibling: #14566 (I18N-A-03, the labels-vs-bundles bullet on the same list) — the same flight lands both, one PR, so the routing list is edited once.

Measured at origin/main 89a156af88, 2026-09-03T01:43Z

  1. skills/README.md:87 — "Legacy OLD / NEW evaluate to null since M9.5." M9.5 occurs nowhere else in packages/ or skills/; git grep -E '\bOLD\b|\bNEW\b' over packages/formula/src (non-test) returns 0 — no code evaluates those spellings to null. The formula skill says the opposite in substance: skills/objectstack-formula/SKILL.md:345-346 maps OLD.xprevious.x and NEW.xrecord.x as legacy spellings to migrate, and :361 states previous is bound only on the events listed there. Two published files disagree; the README's sentence has no anchor. Settle at source (what the CEL parser actually does with a bare OLD) and keep one true clause — most likely "legacy OLD / NEW are not CEL; migrate per objectstack-formula's table" or simply drop the clause.
  2. skills/README.md:105 — the "Any CEL expression" bullet lists "AI tool params" as a CEL site. git grep -i 'cel|formula|expression' over packages/spec/src/ai finds CEL nowhere on tool params — only {{var}} template interpolation on model-registry prompts (model-registry.zod.ts:121-122). The AI domain's real CEL site, per skills/objectstack-ai/SKILL.md:405, is a model-registry predicate. Replace the false item with the true one (or drop it).
  3. Cross-skill routing list (:94-110, four bullets) lacks two decision points the audits measured as real load-failure modes, in the same shape [finding] Nothing routes an agent authoring object/field/view labels to objectstack-i18n — the cross-skill routing list in skills/README.md has no labels-vs-bundles decision point #14566 records for i18n:

Scope and budget

  • One draft PR, first line Fixes #<this> and Fixes #14566. Items 1–2 are corrections (shrink or neutral). Items 3's three bullets are funded additions of roughly +25 tokens each, in the four existing bullets' shape and size — ⛔ no more than that (maintainer 2026-08-21: 「……不能为了一个小功能扩写很多。」); pay inside the file where a strict restatement exists, net as close to 0 as honesty allows, reported per item.
  • skills/README.md is outside the token-ratchet population (check-skills-token-ratchet.mjs:133); the generated region between <!-- BEGIN/END GENERATED: skills --> is untouched (check:skill-docs --check stays green). PR docs(skills): admit hand-authored reference files under references/ in the catalog anatomy #14786 (at the governed terminal) holds one line of the same file (:55, the anatomy tree) — disjoint hunks; the later to land merges main in.
  • Governed skills/** ⇒ draft, human merge; skip-changeset.

Refs: #14292 · #14566 · #14315 (I18N flight) · #14307 (UPG flight) · objectui#7251 (OUI flight).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions