Split documentation-layout into placement and size hooks #1392

Merged
coilyco-ops merged 1 commit from aos/claude/ee98-docsplit into main 2026-08-29 09:07:53 +00:00
Owner

A site repo's blog posts are Markdown, so the size caps reached them, and the only way out took the placement rules with it.

documentation-placement and documentation-size now ship as two hooks a repo enables independently. Verified end to end against a fixture repo with a 201-line post under src/pages/posts/:

  • both on - placement fails and size fails
  • [tool.agentic-os.documentation-size] enabled = false - size passes, placement still fails
  • plus excludes = ["src/pages/**"] - both pass

That last line is website's recipe, and it needs both halves.

Both read band and every cap from the one documentation-layout config section, so no consumer pyproject changes, and enabled = false there still disables both. Two regression tests cover each direction.

DEFAULT_HOOK_IDS deliberately still names the old id: the #187 ordering test requires a tagged release to carry a hook id before the generator may emit it. Pushing this to main cuts that release, and a follow-up bumps the pin and swaps the ids.

Refs #1111

A site repo's blog posts are Markdown, so the size caps reached them, and the only way out took the placement rules with it. `documentation-placement` and `documentation-size` now ship as two hooks a repo enables independently. Verified end to end against a fixture repo with a 201-line post under `src/pages/posts/`: * both on - placement fails and size fails * `[tool.agentic-os.documentation-size] enabled = false` - size passes, placement still fails * plus `excludes = ["src/pages/**"]` - both pass That last line is website's recipe, and it needs both halves. Both read band and every cap from the one `documentation-layout` config section, so no consumer pyproject changes, and `enabled = false` there still disables both. Two regression tests cover each direction. `DEFAULT_HOOK_IDS` deliberately still names the old id: the #187 ordering test requires a tagged release to carry a hook id before the generator may emit it. Pushing this to main cuts that release, and a follow-up bumps the pin and swaps the ids. Refs #1111
feat: split documentation-layout into placement and size hooks
All checks were successful
ci / aos-cli-tests (pull_request) Successful in 35s
ci / gate (pull_request) Successful in 54s
79d8e58a30
A site repo's blog posts are Markdown, so the size caps reached them, and
the only way out took the placement rules with it. `documentation-placement`
and `documentation-size` now ship as two hooks a repo enables independently:
website excludes `src/pages/**` from placement and sets `enabled = false`
under `documentation-size`, keeping every rule it still wants.

Both halves read band and every cap from the one `documentation-layout`
config section, so no consumer pyproject changes, and `enabled = false`
there still disables both.

DEFAULT_HOOK_IDS keeps naming the old id until a release carries the new
ones, per the ordering test from #187. Follow-up bumps the pin.

Refs coilyco-flight-deck/agentic-os#1111

Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Agent-Role: platform
coilyco-ops deleted branch aos/claude/ee98-docsplit 2026-08-29 09:07:53 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os!1392
No description provided.