Purpose and scope
This unit defines the profile hook for a precise first-use trap on optional VECTOR or CUBE extension state. The portable default is disabled and has no effect.
PTO-ARCH-PROFILE-EXTENSION-FIRST-USEThe complete ASL owner is shown directly below.
// PTO-UNIT: {"id":"PTO-ARCH-PROFILE-EXTENSION-FIRST-USE","surface":"arch","classification":["profile","extension-first-use"],"depends_on":["PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION"]}// NDF-BEGIN: PTO-ARCH-EXTENSION-FIRST-USE-PROFILE-001// ndf: kind=contract level=L1 layer=architecture status=accepted// A target profile MAY provide a precise extension first-use trap. The// portable default MUST remain disabled and effect-free. An enabling profile// MUST define covered kinds, enable state, source and manager ACRs, the exact// trap envelope, pre-effect ordering, retry state, and context-save progress.// NDF-END: PTO-ARCH-EXTENSION-FIRST-USE-PROFILE-001
type ExtensionFirstUseKind of enumeration { ExtensionFirstUseKind_VECTOR, ExtensionFirstUseKind_CUBE};
readonly impdef func ExtensionFirstUseEnabled(kind: ExtensionFirstUseKind) => booleanbegin return FALSE;end;
impdef func RaiseExtensionFirstUse(kind: ExtensionFirstUseKind, source: AccessControlRing, manager: AccessControlRing) => booleanbegin return FALSE;end;
This unit defines the profile hook for a precise first-use trap on optional VECTOR or CUBE extension state. The portable default is disabled and has no effect.
ExtensionFirstUseKind distinguishes ExtensionFirstUseKind_VECTOR and ExtensionFirstUseKind_CUBE.ExtensionFirstUseEnabled asks whether the named kind is active.RaiseExtensionFirstUse receives the extension kind, source AccessControlRing, and manager AccessControlRing.The portable definition is disabled and effect-free.
Both impdef functions implement that default by returning false.
An enabling named profile defines the covered kinds, enable state, source and manager ACRs, precise trap envelope, pre-effect ordering, retry state, and context-save progress.
The hook does not create extension state or infer when an instruction first uses it. Instruction and profile owners decide whether to call the hook before effects; disabled behavior remains effect-free.
Use this example block only as a reading aid: apply the rules above, then confirm the result in the normative ASL owner. It does not add an architectural contract.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
A target profile MAY provide a precise extension first-use trap. The portable default MUST remain disabled and effect-free. An enabling profile MUST define covered kinds, enable state, source and manager ACRs, the exact trap envelope, pre-effect ordering, retry state, and context-save progress.
PTO-ARCH-EXTENSION-FIRST-USE-PROFILE-001asl/arch/profile/extension-first-use.aslef0bbe915fc5fd01cc93cca2a176844dcbdcb6d48af9bf36404c0bfa897615f3ff0b2e74da27763b29419b15aadd08d52f5e41b80f7016ad566911e8883466729 matching entries
PTO-AVS-ARCH-EXTENSION-FIRST-USE-DEFAULT-001tests/asl/arch/profile/extension-first-use/arch-exec-extension-first-use-default-001.asl0e11de263b9695082f286ea7a8114971b35803a84d31683c442547d36c22e568PTO-AVS-ARCH-PROFILE-EXTENSION-FIRST-USE-STATIC-001tests/asl/arch/profile/extension-first-use/arch-static-extension-first-use-contract-001.asl6255e5a5376b484598806d2d6ec01085ebd04110b5f65571c74860c9bca3b489PTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8Loading ADR-0005…
ADR-0005docs/status/decisions/0005-pto-v0-concrete-reference-profile.mda83528c2fc744cc120c2a0a32c82410059638ea88936fa65ac0eb36a0274d87cLoading ADR-0068…
ADR-0068docs/status/decisions/0068-extension-first-use-profile-hook.mda4d72d235ac031a2663679a21cc5b52111f894d02f14929c9bee4a39658406c2{
"classification": [
"profile",
"extension-first-use"
],
"documentation": "docs/arch/profile/extension-first-use.md",
"id": "PTO-ARCH-PROFILE-EXTENSION-FIRST-USE",
"mnemonic": null,
"readiness_subjects": [
"ADR-0005",
"ADR-0068"
],
"semantic_tests": [
"PTO-AVS-ARCH-EXTENSION-FIRST-USE-DEFAULT-001"
],
"source": "asl/arch/profile/extension-first-use.asl",
"surface": "arch",
"tests": [
"PTO-AVS-ARCH-EXTENSION-FIRST-USE-DEFAULT-001",
"PTO-AVS-ARCH-PROFILE-EXTENSION-FIRST-USE-STATIC-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd86812ef0bbe915fc5fd01cc93cca2a176844dcbdcb6d48af9bf36404c0bfa897615f3fb16e18d1c162fed1f5d1d64bb5c422c21e30a33a1824fa00d9a1b9a04002f52asl/arch/profile/extension-first-use.aslasl/arch/profile/extension-first-use.asl