Files
rUvandr 828a8d78d9 feat(plugins): cut per-turn footprint — user-invoked operational skills, description ceiling, footprint report (ADR-507) (#4588)
* feat(plugins): ADR-507 cut the per-turn plugin footprint

- scripts/measure-plugin-footprint.mjs: per-plugin skills/commands/agents,
  listing characters and estimated tokens, from the tree or a git ref;
  before/after reports in v3/docs/validation/.
- 27 operational skills get disable-model-invocation: true (cost-tracker
  sub-reports reached by /ruflo-cost, metaharness bench/learn/evolve/mint/
  oia-audit, GAIA submission + comparison, init-project, ruflo-status,
  vector-setup, federation-init, agntcy-status). Each is listed in a
  "User-invoked skills" table in its plugin README; the choosing rule is in
  plugins/README.md.
- 20 skill descriptions over 300 characters cut to one sentence plus
  "Use when".
- audit-skill-frontmatter: 300-char ceiling on skill and command
  descriptions (measured unfolded) and a README check for every
  user-invoked skill.
- skillTrim (§2.4) not built: the engine has no skill-listing hook.

Listing with every plugin enabled: 47,743 -> 39,402 chars
(about 11,936 -> 9,851 tokens per turn).

Co-Authored-By: RuFlo <ruv@ruv.net>

* docs(adr): ADR-507 status names PR #4588

Co-Authored-By: RuFlo <ruv@ruv.net>

* docs(plugins): ADR-507 cost-analyst points users at /ruflo-cost for user-invoked reports

The engine's refusal for a disable-model-invocation skill says not to
replicate its workflow by other means, so the agent names the subcommand
instead of running the report script. After-report now cites the pushed
commit.

Co-Authored-By: RuFlo <ruv@ruv.net>

* fix(scripts): ADR-507 audit runs through symlinked paths; test the gate's wiring

The import guard compared argv[1] with import.meta.url, which Node realpaths
for the entry module. Run through a symlinked path, main() was skipped and the
audit exited 0 having checked nothing. Both scripts now compare realpaths.

audit-skill-frontmatter takes --plugins-dir so tests can run the real CLI on
a fixture: a 304-char folded description, an unlisted user-invoked skill and
a 311-char literal command description must exit 1 with those findings, and
adding the README row must clear only the user-invoked one. The repo-wide test
now also asserts skillsScanned > 100. Disabling any of the three checks, or
restoring either old guard, fails a test.

Co-Authored-By: RuFlo <ruv@ruv.net>

* chore(plugins): version bumps for ADR-507 footprint changes

Co-Authored-By: RuFlo <ruv@ruv.net>

---------

Co-authored-by: r <r@x>
2026-10-29 19:50:34 -04:00
..