Skip to content

Skills optimization flight — skills/objectstack-automation: RESTRUCTURE (≈ −1,125 tok net / −2,105 gross) — the package teaches a control-flow trio with zero authorings (parallel_gateway/join_gateway/boundary_event) and never mentions the trio the corpus uses (parallel/try_catch/loop); notify (#1 node type, 20 uses) has one table cell; the description still promises ETL pipelines removed in spec 17 #14308

Description

@os-litant

Member card of the skills catalog optimization program #14292 (maintainer mandate 2026-09-02, verbatim: 「审核所有的 skills,进行全面的优化。」). Filed by the skills lane seat (session session_01LraLgQVGq8egUwfYZpbYt1). Read-only audit at objectstack origin/main a59f78d; 25 findings. Full findings table = audit record: the dev posts audit/objectstack-automation/findings.md (seat scratchpad) verbatim as the first comment at claim time.

Audit summary

SKILL.md 1,001 lines / 12,768 tok (headroom 0) · evals/approvals/test-revise-loop.md 1,329 · evals/README.md 414 · generated 835 — package 15,346; all three ratcheted files at zero headroom. Approvals :296-650 = 5,246 tok = 41% of the file; the highest-density block ("Valid-but-silently-wrong" pitfalls 6–10, :836-951) starts at 84% depth. Real usage: 4 *.flow.ts + the showcase's 24 flows + jobs + webhooks; zero *.trigger.ts. Node-type frequency: notify 20, approval 15, screen 9, update_record/get_record/decision 5, connector_action 4, loop 3, try_catch 2, parallel 2, approval_revise 1 — parallel_gateway/join_gateway/boundary_event 0. 14 real patterns; 12 covered; 2 whole defineStack collections (jobs, webhooks) missing. Verdict RESTRUCTURE: wrong control-flow model taught; order inverts value; evals orphaned (grep evals SKILL.md → 0) and inverted (1,329 tok on the least-used node); the generated index misroutes to the ADR-0020-retired state-machine.zod.ts.

Top findings

# id span proposal Δtok
1 AUTO-H-01 evals/approvals/test-revise-loop.md:23-65 vs SKILL.md:382-442 DELETE the eval's Expected-Output fence + restating Mistakes rows; keep Scenario + Criteria −700
2 AUTO-B-04 evals/README.md:13-43 planned-structure stub (DEFERRED, #14296 item 2) −270
3 AUTO-C-02 SKILL.md:596, 600-606 DELETE hook rows + "There is no ctx.record" — anchor objectstack-data/references/data-hooks.md −208
4 AUTO-B-07 SKILL.md:971-983 DELETE — third statement of pitfalls 6 and 10; keep the os validate block −190
5 AUTO-B-03 SKILL.md:800-812 DELETE 4 of 5 State-Machine BPs — verbatim restatement of Notes 277-294 −150
6 AUTO-D-01 SKILL.md:152-164 REWRITE-AS-CONSTRUCT: "routes / does-not-route" two-cell row −150
7 AUTO-D-06 SKILL.md:787-798 DELETE "Flow Design" BPs (generic; #5 dup of :228; #2 wrong) −137
8 AUTO-D-03 SKILL.md:443-459 DELETE "Re-homing the old process model" (upgrade-skill territory) −225
9 AUTO-D-05 SKILL.md:926-941 REWRITE-AS-CONSTRUCT: keep the functions fence, drop the rationale −130
10 AUTO-D-02 SKILL.md:404-409 DELETE ADR-0044 amendment history (stated 3× more) −115
11 AUTO-B-06 SKILL.md:866-870 MERGE-INTO 736-782 −90
12 AUTO-D-04 SKILL.md:895-902 DELETE spec-17 retirement narration; keep the prescription −110
13 AUTO-D-07 SKILL.md:826-835 DELETE pitfalls 1/2/5 (engine-implementer advice, BPMN, dup of :691) −110
14 AUTO-F-01 :76-77, 79, 791-792, 828-829 ADD parallel/try_catch/loop-container rows; mark the *_gateway/boundary_event trio as BPMN lowering, not author-facing (control-flow.zod.ts:42-46) +120
15 AUTO-F-02 SKILL.md:661-676 REWRITE-AS-CONSTRUCT capability→surface table adding approvals + messaging (notify returns success with skipped: true when messaging is absent — notify-node.ts:313-320) +40

Incidental falsehoods (fix in this flight)

  1. SKILL.md:24-25, :35 — "covers … ETL pipelines" / "designing an ETL pipeline": the L2 ETL layer was removed in spec 17 with no replacement (17.etl-pipeline-layer-retired.ts:7-20); the package declares 17.x and has zero ETL body content. Also the frontmatter/description (AUTO-A-01).
  2. SKILL.md:791-792 — "Always handle errors. Add boundary_event nodes": 0 authorings; the showcase's own waiver (coverage.ts:299-300) names try_catch and wait as the author-facing equivalents.

Three funded additions

  1. Capability → surface table (AUTO-F-02, +40, paid by AUTO-D-06).
  2. ADR-0031 structured control-flow rows (AUTO-F-01, +120, paid by AUTO-D-06 + AUTO-D-07).
  3. notify config fence (AUTO-E-04, +140, paid by AUTO-D-03 + AUTO-D-05) — the 8 keys actually used (recipients 13, title 10, topic 9, message 8, severity 7, channels 7, sourceObject/sourceId 4, actionUrl), schema io-node-config.zod.ts:179-218, plus one "Valid-but-silently-wrong" line for the messaging-absent silent success.

Flight scope

IMPLEMENT (shrink-only): rows 1, 3–15 and the findings file at HIGH or MED; the three funded additions; falsehoods 1–2 incl. the description; AUTO-A-02/A-03 (add jobs/webhooks and screen-flow routing to the description — paid by same-file deletions); AUTO-B-01/B-02 reorder (free — bring the "Valid-but-silently-wrong" block up); link the eval from SKILL.md.

ANCHOR RULINGS: hooks → objectstack-data/references/data-hooks.md (AUTO-C-02: delete + pointer). The objectstack-query flight points at this package's :157-164 flow-filter rule — keep that section stable. Screen flows vs views: this package owns screen flows; objectstack-ui points here.

DEFER: AUTO-B-04 (eval stub, #14296 item 2); AUTO-B-05 (generator map build-skill-references.ts:120-129 → out-of-scope card for the spec lane: drop state-machine.zod.ts, add builtin-node-config.zod.ts / io-node-config.zod.ts).

Flight constraints (binding)

  • ONE draft PR, first line Fixes #<this card>; governed ⇒ stays draft; review requests are the seat's step.
  • Token ratchet: no ratcheted file may grow; additions paid by deletions in the SAME file; ⛔ re-wrap is not payment; ⛔ no ceiling raise; ⛔ no new files; ⛔ do not touch the ratchet script.
  • ⛔ Never edit another package's files; follow-ups in the PR body. Generated files untouched. Regenerate the README index only if a drift gate requires it (report which).
  • Live surface with zero measured usage ⇒ one row pointing at its schema; retired/tombstoned ⇒ delete. A false claim matching a spec .describe() string ⇒ spec-side twin card.
  • Gates: node scripts/check-skills-token-ratchet.mjs, pnpm --filter @objectstack/spec check:skill-examples, pnpm check:skill-compatibility, pnpm check:skill-identifier-liveness, plus node scripts/pm/dispatch-gates.mjs --commands <changed paths>; record the head sha.
  • PR body: per-item 落点 | before | after keyed by finding id; per-file token delta; needs:contract-review on both carriers (the control-flow rows and the notify silent-success semantics are contract claims).

Refs: #14292 · #14296 · #13658.

Activity

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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:skillspriority:p1High: required for production / M2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions