Rule pack: portability/*
Labels: backlog → P1 when #61 merges (parallelizable with #62–#65 once the engine exists).
Blocked by #61.
Problem
Implement the cross-harness portability rule pack per docs/specs/lint-engine.md §3.5 — the
superposition-authoring payoff: warn when authored config won't survive translation to a
declared target.
Acceptance criteria
- Rule:
portability/untranslatable-feature, grounded in docs/specs/adapter-system.md §4.2.1
assertability tables; fires only for targets declared in the plugin's envelope. Registered
with meta per L-D4.
- Tests derive expectations from the adapter-system tables and cite the table rows in test
comments; negative tests confirm no diagnostics for fully-translatable config and for
features on targets not in the envelope.
- Per-rule docs stub.
pnpm run check + dogfood aipm validate green; changeset (minor, stay 0.x).
Rule pack:
portability/*Labels:
backlog→P1when #61 merges (parallelizable with #62–#65 once the engine exists).Blocked by #61.
Problem
Implement the cross-harness portability rule pack per
docs/specs/lint-engine.md§3.5 — thesuperposition-authoring payoff: warn when authored config won't survive translation to a
declared target.
Acceptance criteria
portability/untranslatable-feature, grounded indocs/specs/adapter-system.md§4.2.1assertability tables; fires only for targets declared in the plugin's envelope. Registered
with
metaper L-D4.comments; negative tests confirm no diagnostics for fully-translatable config and for
features on targets not in the envelope.
pnpm run check+ dogfoodaipm validategreen; changeset (minor, stay 0.x).