fix(framework): the orthogonality guard's two generous table shapes
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- documentation, tooling
Research direction
Start in scripts/lib/architecture-rules.js at citationsIn and findAddresses, then read the R8 guidance in plugins/aidd-context/skills/04-skill-generate/references/skill-authoring.md. Reproduce the separator-less glossary, fenced address, and duplicate-stem cases from the issue. Done means the guard handles each case consistently, preserves the blank-line behavior, and documents the chosen fence and shared-stem rules.
Written by the indexing model from the issue text.
Description
Two limits the guard from #250 ships with, both measured and neither reachable from the tree as it stands. Recorded so the next person meets them in a document rather than in a refusal.
A separator-less run below the router is read as part of it
scripts/lib/architecture-rules.js, citationsIn. A run of table rows with no | --- | beneath it is treated as the table above it resumed after a blank line. That exists so a purely cosmetic edit — one blank line inside a router table — does not refuse every row below it. The cost: a glossary written without a separator, immediately under the router, donates its cells as citations, so a deleted row can hide behind it.
## Actions
| Action | When |
| --- | --- |
| 01-keep | a |
| role | the caller |
| scope | the ask |
02-role.md's missing row passes. A column-count check does not discriminate the two shapes — a glossary often has the router's width. Neither shape is a table any renderer accepts.
Rule one reads addresses through fences, rule two does not
findAddresses runs on the raw content, so a governed file teaching a counter-example inside a fenced block is refused:
plugins/aidd-dev/skills/99-x/references/teach.md:6 addresses sibling plugin "aidd-vcs" via "/aidd-vcs:01-commit"
22 fenced address lines exist under plugins/ today, all own-plugin or aidd-orchestrator, so none fires. Rule two blanks fences; rule one does not, and the asymmetry is stated in the spec rather than resolved.
A third, smaller one
plugins/aidd-context/skills/04-skill-generate/references/skill-authoring.md:17 (R8) says an Action cell is "the bare slug, no backticks and no number". Two action files sharing a stem — 01-plan.md and 04-plan.md both reduce to plan — can then only be cited in a form R8 forbids, because a shared stem deliberately cites nobody. No skill in the tree has such a collision. One sentence in R8 would close it.
Done when
- A separator-less glossary under a router no longer donates citations, without reintroducing the blank-line false refusal.
- Rule one and rule two agree about fences, or the asymmetry is deliberate and says why.
- R8 says what to write when two actions share a stem.
- Dominant language
- TypeScript
- Stars
- 481
- Forks
- 45
- Avg merge
- 14h 36m
- Merged PRs (30d)
- 110
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ai-driven-dev/framework
-
refactor(aidd-orchestrator): the check zone says when to stop, and reviews its axes in one round Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ai-driven-dev/framework#887 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
ai-driven-dev/framework#873 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
ai-driven-dev/framework#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ai-driven-dev/framework#625 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ai-driven-dev/framework#467 · 1 comment ·
All issues in ai-driven-dev/framework
Similar issues
-
comp/desktop P3 type/bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
NousResearch/hermes-agent#118866 ·
-
Browser Waiting for: Product Owner
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
getsentry/sentry-javascript#24577 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
agilepathway/label-checker#640 ·
-
Plugin stuck at "loading" on DSH 0.1.6-alpha.2 — turnTail list slot registration missing options.id Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
chrisparsons83/flexspotff#153 ·