4.0 APL · Production decides

APL / pin

APL-1 BA↔layout · APL-2 length · APL-3 pin/scan/flag. Production decides — agents may diagnose, never pin alone.

Fixture · not engine truth

Fixture adapter · IDS trial path

No live InDesign Server yet. Pin enqueues an IdsJob via the fixture adapter (same JSON live IDS will return — backend/app/ids_adapter.py · result_shape contract). Trial the loop on Layout QA: miss → Apply tweak → Re-pin. Raise flag files L1 via Improve. Playbook: docs/IDS_TRIAL_PLAYBOOK.md (repo filesystem).

Honesty: overset from APL-2 bands only — not live frame geometry or proof PDF. Promote: G = contract + fixture path + flag→L1. R = live engine / proof PDF.

Customer story · APL-1 → APL-2 → APL-3

APL-1 · matrix summary

TypeAllowed layouts

Cascade gate

A4 / P3 only when taker layout is in the type’s matrix set.

    Pre-plan matrix → Issue

    Articles · fit & pin

    Mark fit / uncertain / miss, then Pin (Production) runs the fixture IDS path (aplSimulatePin — requires prior Approval). Raise flag files L1.

    Article Layout APL-1 Status Fit / scan Actions