Skip to content

Context Package Specification

Working Draft

This document is a Working Draft. It is the canonical Layer 1 Context Package schema reference — all Schema Amendment Requests SAR-1 through SAR-21 applied, current as of Step 6. Use this document to look up schema fields, validation rules, and state machine definitions. To understand the design decisions behind this schema, see the Context Package Design Rationale.

FieldValue
Document refATP_ContextPackage_Step6_v1
Schema versionv6 (SAR-1 through SAR-21 applied)
StatusComplete — Layer 2 and Layer 3 specifications published. Canonical Layer 1 Context Package reference.
ContributorTom Sato (MyAuberge K.K.)
DateMarch 2026

What This Document Is

The Context Package is what the Activity Travel Protocol runtime delivers to an AI agent at every invocation point — the precisely scoped information the agent needs to make a specific decision. The Decision Object is what the agent returns. Both are first-class protocol artifacts with defined schemas, signing requirements, and Security Kernel enforcement.

This document defines the canonical schema for both. Every field, every enum value, every validation rule is specified here. The schema was developed across six sessions and carries 21 Schema Amendment Requests. All are consolidated here into a single reference.

Six Decision Types determine which variant of the Context Package is assembled. Each Decision Type targets a specific class of decision at a specific point in the booking lifecycle. The design rationale document explains the taxonomy in full; the invocation matrix below gives the working reference.

Invocation matrix — participation levels at which each Decision Type applies per booking state:

StateDT-1 ConfigDT-2 Feasib.DT-3 PolicyDT-4 Disrupt.DT-5 MonitorDT-6 Negot.
INQUIRYL1–L3L1–L3
NEGOTIATIONL1–L2L1–L3L1–L2L2–L3 †
PROPOSALL1–L3L1–L2L1–L2L1–L2
CONFIRMATIONL1–L2 *
Fulfillment sub-statesL1–L2L2–L3
DISRUPTION_REVIEWL2–L3L1–L2L2–L3L2–L3
AMENDMENTL1–L3L1–L2L2–L3
INCIDENT Cat AL1L1
INCIDENT Cat BL1–L2L1–L2
INCIDENT Cat C1L2–L3 ‡L2–L3 ‡
INCIDENT Cat C2/C3L1–L2L1–L2
PARTY_UNRESPONSIVEL2–L3L2–L3

* CONFIRMATION: human_escalation_requested = true enforced by Security Kernel at all levels — not configurable. † DT-6 L2–L3 A2A multi-agent: forward reference, excluded from initial scope. ‡ C1 autonomous declaration: only when all four mandatory conditions are met.

Version Lineage

v1 (base, Steps 3 & 4) → v3 (SAR-1 through SAR-9 applied) → v6 (this document, SAR-10 through SAR-21 applied).

v2, v4, and v5 were not produced as separate documents. Do not reference intermediate version numbers — they do not exist.


1. Step 6 Security Constraints

1.1 Signing Algorithm

Both context_package_signature and decision_object_signature use ES256 (ECDSA with P-256 and SHA-256), aligning with FAPI 2.0 Security Profile and W3C VC Data Model 2.0.

FieldAlgorithmKey sourceSigns
context_package_signatureES256 (ECDSA / P-256 / SHA-256)Party signing key registered at Party Registryassembled_at + booking_id + invocation_id + booking_state hash
decision_object_signatureES256AI agent signing key declared in AgentAuthorityDeclarationproposed_action + reasoning + confidence

1.2 CUSTOMER_INPUT Sanitisation Rules

All fields carrying x-data-classification: CUSTOMER_INPUT must pass through the sanitisation pipeline before inclusion in a Context Package presented to an AI agent. The pipeline applies in order:

  1. Strip HTML tags and JavaScript protocol handlers (javascript:, data:)
  2. Normalise Unicode to NFC to prevent homoglyph injection
  3. Enforce field-level maxLength constraints — truncate and flag if exceeded
  4. Apply prompt injection pattern detection: flag any field containing role-instruction-style phrasing for human review before agent invocation
  5. Log sanitisation events to the audit trail (OpenTelemetry span attribute: atp.sanitisation.triggered)

DANGER

CUSTOMER_INPUT fields must never be passed verbatim to an AI agent without sanitisation. Sanitisation is a non-bypassable Security Kernel function.

1.3 TRAVELER_PII Sanitisation Rules

TRAVELER_PII fields require encryption at rest (AES-256-GCM) and are subject to jurisdiction-specific retention deadlines.

  • Must never appear in the precedent index.
  • Must be excluded from all OpenTelemetry span attributes — the audit trail records the fact of access, not the value.
  • Assembled only at the access level required by the current decision type.
  • Purged at or before TravelerContext.retention_deadline. Contact references nulled within 24 hours of booking lifecycle end.

1.4 Full Audit Chain — DOR-5 Enforcement

  • The runtime must verify that source_signal_reference, when present, resolves to an entry in the event log for this booking_id.
  • For DT-4 AUTONOMOUS_INCIDENT_DECLARATION, source_signal_reference is mandatory. A Decision Object without it is rejected by the Security Kernel regardless of confidence or reasoning length.
  • Exact prior_decision_hash match on a different invocation_id triggers DECISION_REPLAY_DETECTED escalation.

2. ContextPackageBase Schema (SAR-13 applied)

SAR-13 — add location_disclosure_blocked

Set to true by the runtime when an active TU-6 (TRAVELER_VICTIM_OF_CRIME) incident is declared. Blocks assembly of any field carrying traveler location, accommodation, or itinerary data — regardless of agent authority scope. Set and cleared only by the Security Kernel. Clearing condition: explicit law enforcement confirmation only.

FieldTypeReq.Description
location_disclosure_blockedbooleanoptionalSAR-13. Set to true when active TU-6 incident declared. Defaults to false (omitted). x-assembly-source: RUNTIME_GENERATED.

3. Shared Object Schemas

3.1 AgentAuthorityDeclaration (SAR-11 applied)

SAR-11 — add BUSINESS_GROUP_LEAD to scope enum

An agent holding BUSINESS_GROUP_LEAD scope is authorised to make booking decisions on behalf of all members of a TravelerGroup where decision_authority = CORPORATE_ACCOUNT. Blocking registration error if declared without a registered corporate account Party.

Updated scope enum

Scope valueDescription
INQUIRY_ONLYRead-only participation. Agent may assemble and read Context Package; may not propose actions.
NEGOTIATIONAgent may propose and respond to negotiation actions within DT-6 authority bounds.
BOOKING_AMENDMENTAgent may propose amendments within the amendment policy declared by Parties.
DISRUPTION_RESPONSEAgent may propose disruption response actions within DT-4 authority bounds.
FULFILMENT_MONITORINGAgent may propose fulfilment monitoring actions within DT-5 authority bounds.
BUSINESS_GROUP_LEADSAR-11 NEW. Decision authority for a TravelerGroup with decision_authority = CORPORATE_ACCOUNT.

3.2–3.4, 3.6–3.11 Unchanged Schemas

Sections 3.2–3.4, 3.6–3.8, 3.10–3.11 are unchanged from v3. Section 3.9 (PrecedentRecord, SAR-3), Section 3.13 (TravelerGroup), and Section 3.14 (PartyCapabilityDeclaration) are unchanged from v3.

3.5 SourceSignalRecord (SAR-18 applied)

SAR-18 — add IATA IROPS category code

When the source signal originates from an airline-connected disruption event, iata_irops_category_code carries the IATA IROPS category code as standard vocabulary. Absent for non-airline signals.

FieldTypeReq.Description
iata_irops_category_codestringoptionalSAR-18. IATA IROPS disruption category code. Present only when signal_category = CAT_C and the originating carrier provides an IATA IROPS code. x-assembly-source: SOURCE_SIGNAL.

3.12 TravelerContext (SAR-10 applied)

SAR-10 — replace TU_3_TRAVELER_ABSCONDED

Removed. Replaced by TU_3A_TRAVELER_OVERDUE and TU_3B_TRAVELER_DEPARTED_IRREGULARLY. Rationale: "absconded" carries serious legal and reputational weight — applying it to someone who simply extended their stay could cause real harm. Existing data migration: stored TU_3_TRAVELER_ABSCONDED values treated as TU_3A_TRAVELER_OVERDUE pending human sub-category review. Migration must be logged to the audit trail.

Updated traveler_unreachable_category enum

Enum valueDescriptionHuman confirm required?
TU_1_DEVICE_UNAVAILABLETraveler physically present, reachable via alt contact. Phone broken, lost, or flat.No
TU_2_TRAVELER_MISSINGTraveler cannot be physically located. Welfare concern.No — escalate immediately
TU_3A_TRAVELER_OVERDUESAR-10 NEW. Traveler has not appeared or returned as expected. Default assumption: benign.No
TU_3B_TRAVELER_DEPARTED_IRREGULARLYSAR-10 NEW. Traveler left jurisdiction/booking context in manner raising commercial or legal concern.YES — must not be set autonomously
TU_4_CONTACT_SUSPENDEDTraveler has deliberately suspended contact. Default classification when no evidence supports a more specific sub-category.No
TU_5_TRAVELER_DECEASEDConfirmed or strongly suspected death of traveler during booking lifecycle.YES — must not be set autonomously
TU_6_TRAVELER_VICTIM_OF_CRIMETraveler is victim of crime — kidnap, serious assault, robbery, detention by non-state actor.YES — must not be set autonomously

Classification Rules

Sub-category Precedence: TU-6 takes precedence over TU-2. TU-5 takes precedence over all. Default Classification: when first declared with no specific evidence, runtime must default to TU_4_CONTACT_SUSPENDED. Unaccompanied Minor: any sub-category other than TU-4 escalates immediately to GUARDIAN_ONLY authority.

3.15 TravelerWellnessStatus (NEW — SAR-14)

Schema $id: https://schema.activity.travel/context-package/TravelerWellnessStatus/v6

x-data-classification: TRAVELER_PII (all fields). x-availability-tracked: true. Must never appear in the precedent index.

Wellness tier fields

FieldTypeReq.Description
wellness_tierenumrequiredW0 | W1 | W2 | W3 | W4. W0 = no declared condition (default). W1 = pre-existing declared condition, stable. W2 = active wellness event (runtime incident). W3 = medical purpose travel. W4 = disability or reduced mobility.
wellness_clearance_refstring (URI)optionalFREMEC-equivalent clearance reference. x-assembly-source: PARTY_REGISTRY.
ssr_codesarray[string]optionalIATA SSR codes. Key values: MEDA, WCHR/WCHS/WCHC, BLND, DEAF, DPNA, STCR, OXYG. minItems: 1 when present.

W2 active wellness event fields

Present only when wellness_tier = W2.

FieldTypeReq.Description
wellness_event_typeenumrequired when W2ILLNESS_MILD | ILLNESS_SERIOUS | INJURY | HOSPITALISED | REQUIRES_REPATRIATION | RECOVERED
wellness_event_declared_byenumrequired when W2BOOKING_PARTY | DUTY_OF_CARE_PARTY | TRAVELER | AUTHORITY
treating_facility_refstring (encrypted ref)optionalEncrypted reference if HOSPITALISED. TRAVELER_PII. Accessible only by duty-of-care Party and law enforcement.
fit_to_continuebooleanoptionaltrue when fitness to continue confirmed. Required before booking resumption after W2 event.
repatriation_requiredbooleanoptionaltrue when duty-of-care Party determines traveler needs to return home. Triggers DT-4 rebooking authority.

JSON Schema

json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schema.activity.travel/context-package/TravelerWellnessStatus/v6",
  "title": "TravelerWellnessStatus",
  "x-data-classification": "TRAVELER_PII",
  "x-availability-tracked": true,
  "type": "object",
  "required": ["wellness_tier"],
  "properties": {
    "wellness_tier": { "type": "string", "enum": ["W0","W1","W2","W3","W4"] },
    "wellness_clearance_ref": { "type": "string", "format": "uri" },
    "ssr_codes": { "type": "array", "items": { "type": "string" }, "minItems": 1 },
    "wellness_event_type": { "type": "string",
      "enum": ["ILLNESS_MILD","ILLNESS_SERIOUS","INJURY","HOSPITALISED","REQUIRES_REPATRIATION","RECOVERED"] },
    "wellness_event_declared_by": { "type": "string",
      "enum": ["BOOKING_PARTY","DUTY_OF_CARE_PARTY","TRAVELER","AUTHORITY"] },
    "treating_facility_ref": { "type": "string" },
    "fit_to_continue": { "type": "boolean" },
    "repatriation_required": { "type": "boolean" }
  },
  "if": { "properties": { "wellness_tier": { "const": "W2" } } },
  "then": { "required": ["wellness_event_type","wellness_event_declared_by"] },
  "additionalProperties": false
}

3.16 Booking Object Additions (SAR-15 applied)

FieldTypeReq.Description
claim_initiation_refstring (URI)optionalSAR-15. Reference to the active claim record. Activated on SUPPLIER_FAILURE_AT_DELIVERY or TU-3a/TU-3b financial loss. Null when no claim is active. x-assembly-source: BOOKING_OBJECT.

3.17 SUPPLIER_FAILURE_AT_DELIVERY Incident Schema (NEW — SAR-19)

Schema $id: https://schema.activity.travel/context-package/SupplierFailureAtDelivery/v6

Burden-of-proof inversion: once a booking reaches CONFIRMATION and the delivery window opens, the supplier bears the burden of proving delivery occurred. claim_initiation_ref is activated by default on declaration.

Incident type taxonomy

CategoryLabelDefinitionHuman confirm?
SF-1NO_SHOW_SUPPLIERSupplier failed to appear or open at confirmed time and location.No
SF-2SERVICE_NOT_AS_DESCRIBEDSupplier appeared but delivered a materially different service.YES
SF-3FORCED_CANCELLATION_AT_DELIVERYSupplier cancelled at point of delivery citing reasons within their control.No

Schema fields

FieldTypeReq.Description
incident_idstring (UUID v7)requiredUnique per incident.
incident_typeenumrequiredSUPPLIER_FAILURE_AT_DELIVERY (constant).
failure_categoryenumrequiredSF-1 | SF-2 | SF-3. SF-2 requires human confirmation before being set.
declared_atdatetime (UTC)requiredRuntime clock timestamp.
declared_bystring (party_id)requiredDID of declaring Party.
supplier_party_idstring (party_id)requiredDID of supplier that failed to deliver.
delivery_window_opened_atdatetime (UTC)requiredWhen booking reached CONFIRMATION and service was due. Burden-of-proof inversion applies from this point.
supplier_evidence_deadlinedatetime (UTC)requiredRUNTIME_GENERATED. delivery_window_opened_at + PT24H. If no evidence by deadline: claim proceeds automatically.
claim_initiation_refstring (URI)requiredMust match Booking Object claim_initiation_ref for this incident.
traveler_presentbooleanrequiredtrue if traveler was present or attempted to be present.
sf2_human_confirmation_refstring (URI)conditionalRequired when failure_category = SF-2.

DOR rule additions

Rule IDRuleEffect
DOR-9Decision Object interacting with active SUPPLIER_FAILURE_AT_DELIVERY incident must include source_signal_reference pointing to incident_id in the event log.Reject if absent or non-resolving.
DOR-10SF-2 classification requires sf2_human_confirmation_ref. Runtime must verify reference resolves before committing.Reject SF-2 without verified confirmation.
DOR-11Traveler acceptance of SF-2 substitution must be recorded as a Decision Object. Autonomous acceptance not permitted.Reject without explicit traveler consent reference.

4. DT Extension Schemas (SAR-18 interaction note)

DT1Extension through DT6Extension are unchanged from v3. SAR interaction for DT4 and DT5:

DT ExtensionInteraction with Step 6 amendments
DT1–DT3, DT6No interaction with SAR-10 through SAR-21.
DT4ExtensionSUPPLIER_FAILURE_AT_DELIVERY activates when a supplier fails at delivery during DT-4 FULFILLMENT states. claim_initiation_ref activated by runtime, not agent. Agents interacting with active SUPPLIER_FAILURE incidents must include source_signal_reference (DOR-9). TravelerWellnessStatus W2 REQUIRES_REPATRIATION activates DT-4 rebooking authority. BOOKING_SUSPENDED terminates all DT-4 action authority.
DT5ExtensionTravelerWellnessStatus W2 active event fields (wellness_event_type, fit_to_continue) are key monitoring inputs. SF-1 NO_SHOW_SUPPLIER is the primary failure type surfaced in DT-5 monitoring.

5. Booking State Machine (SAR-16, SAR-17 applied)

SAR-16 and SAR-17 add two new states. All existing states are unchanged.

5.1 BOOKING_SUSPENDED state (SAR-16)

Entry conditions — three and only three

Entry pathTriggerNotes
Path 1 (primary)TU-5 TRAVELER_DECEASED confirmed or strongly suspectedRequires human confirmation before TU_5_TRAVELER_DECEASED is set. BOOKING_SUSPENDED transition follows immediately.
Path 2Legal authority order requiring booking suspensionCourt order, law enforcement hold, or immigration authority instruction. Authority identity logged to audit trail.
Path 3Booking Party declaration of force majeure affecting the entire bookingDistinct from DISRUPTION_REVIEW. Booking Party must provide force majeure declaration reference.

State characteristics

CharacteristicDefinition
Autonomous actionsHALTED — absolute, no exceptions.
State machine transitionsFROZEN — booking cannot move to any other state without explicit human unlock. No timeout mechanism applies.
available_actionsEMPTY for all agent invocations — Security Kernel returns empty set regardless of authority scope.
Context Package assemblyPERMITTED for read-only purposes. No Decision Object execution follows.
TRAVELER_PII retention deadlinesSUSPENDED — all data preserved until suspension resolved.
SSF monitoringCONTINUES — runtime does not stop listening for security events.
location_disclosure_blockedRemains active if BOOKING_SUSPENDED entered via TU-6 pathway. Cleared only by law enforcement confirmation.

Exit conditions — authority-gated

Exit pathAuthority requiredResult
Path ANext-of-kin or legal authority confirmationBooking transitions to BOOKING_CANCELLED_SUSPENDED terminal state.
Path BLegal authority order lifting the suspensionBooking returns to pre-suspension state. suspension_lifted_by audit record added.
Path CBooking Party determination with authority confirmation that suspension trigger was incorrectBooking returns to pre-suspension state with full audit record of erroneous declaration.

TIP

BOOKING_SUSPENDED is not PARTY_UNRESPONSIVE (which has timeouts). It is not DISRUPTION_REVIEW (which has a resolution path). It is not a terminal state. It is a full stop requiring human authority to exit.

5.2 BOOKING_CANCELLED_SUSPENDED terminal state (SAR-17)

Entry: exclusively from BOOKING_SUSPENDED Path A.

CharacteristicDefinition
State typeTerminal — no exit path.
TRAVELER_PII retentionRetained until jurisdiction authority confirms purge is appropriate.
claim_initiation_refRemains active — supplier claim path survives the terminal state.
Audit flagCarries suspended_cancellation: true in the event log. Distinct from normal CANCELLATION.

6. Named Protocol Events (SAR-20, SAR-21)

Named protocol events are first-class protocol events with defined authority gates, triggering conditions, and state effects. They are not simple field updates.

6.1 TRAVELER_FOUND (SAR-20)

Applicable to TU-2 and TU-6. Not applicable to TU-5.

PropertyDefinition
Authority gate(a) duty-of-care Party, (b) confirmed Jurisdiction Registry authority contact, or (c) traveler via re-established contact. For TU-6: law enforcement confirmation required.
On declarationtraveler_unreachable_category nulled. DT-4 autonomous hold released. Active escalation marked resolved. Incident record preserved and closed but not purged.
Sub-category downgradeSole protocol-permitted downgrade path that does not require separate authority confirmation.
Autonomous actionDoes not auto-resume. Duty-of-care Party must issue explicit booking resumption confirmation as a separate step.
Condition assessmentThree-path prompt: (A) traveler able to continue — booking resumes; (B) traveler requires assistance — booking held; (C) traveler wishes to cancel — cancellation and repatriation authorised.

TRAVELER_FOUND event schema fields

FieldTypeReq.Description
event_typestring (constant)requiredTRAVELER_FOUND
event_idstring (UUID v7)requiredUnique protocol event identifier.
declared_atdatetime (UTC)requiredRuntime clock timestamp.
declared_by_party_idstring (DID)requiredDID of declaring Party.
authority_typeenumrequiredDUTY_OF_CARE_PARTY | JURISDICTION_AUTHORITY | TRAVELER_SELF | LAW_ENFORCEMENT. For TU-6 must be LAW_ENFORCEMENT.
law_enforcement_refstring (URI)conditionalRequired when resolving TU-6.
prior_tu_categoryenumrequiredMust be TU_2_TRAVELER_MISSING or TU_6_TRAVELER_VICTIM_OF_CRIME.
condition_assessment_pathenumrequiredA_CONTINUE | B_ASSISTANCE_REQUIRED | C_CANCEL_REPATRIATE. Must be set before any resumption action proceeds.

6.2 RECOVERED (SAR-21)

RECOVERED is the wellness equivalent of TRAVELER_FOUND. Applicable to TravelerWellnessStatus W2 resolution. On declaration: wellness_event_type updated to RECOVERED, fit_to_continue assessment required, three-path condition assessment surfaced to duty-of-care Party.

FieldTypeReq.Description
event_typestring (constant)requiredRECOVERED
event_idstring (UUID v7)requiredUnique protocol event identifier.
declared_atdatetime (UTC)requiredRuntime clock timestamp.
declared_by_party_idstring (DID)requiredDID of declaring Party.
authority_typeenumrequiredBOOKING_PARTY | DUTY_OF_CARE_PARTY | TRAVELER | MEDICAL_PROFESSIONAL.
prior_wellness_event_typeenumrequiredThe wellness_event_type being resolved. Must not be RECOVERED.
fit_to_continuebooleanrequiredMust be explicitly set — does not default to true.
condition_assessment_pathenumrequiredA_CONTINUE | B_ASSISTANCE_REQUIRED | C_CANCEL_REPATRIATE.
medical_confirmation_refstring (URI)conditionalRequired when authority_type = MEDICAL_PROFESSIONAL.

7. DecisionObject Schema (SAR-12 applied)

All fields from v3 unchanged. SAR-12 adds REASONING_INSUFFICIENT to escalation_reason.

SAR-12 — add REASONING_INSUFFICIENT

Used when a Decision Object's reasoning field fails the per-action minimum length check (DOR-7-SAR2). More precise than CONFIDENCE_UNDERRUN, which was used as an interim value. CONFIDENCE_UNDERRUN remains valid for confidence-floor failures only — the two values are now distinct.

Updated escalation_reason enum

ValueTriggerSource
CONFIDENCE_UNDERRUNConfidence value below per-action minimum thresholdStep 5 / SAR-2. Retained for confidence-value failures only.
REASONING_INSUFFICIENTreasoning field shorter than per-action minimum (DOR-7-SAR2)SAR-12 NEW.
ASSEMBLY_FAILUREOPA timeout or failure on blocking DTFR-5.3. protocol_deadline: PT10M.
CREDENTIAL_COMPROMISED_GATEActive RISC Credential Compromised event on agent_idSSF-Q2. Full execution gate.
SSF_REVOCATION_DURING_C1_WINDOWC1 trigger SSF event during PT15M reversal windowSSF-Q4.
DECISION_REPLAY_DETECTEDExact Decision Object hash match on different invocation_id for same booking_idDT-Q4. Hard protocol rule.
TRAVELER_UNREACHABLE_UNRESOLVEDAlt contact not confirmed within TU-1 timeoutTU-1.
TRAVELER_MISSINGTU-2 declaredTU-2. Invoked immediately.
TRAVELER_OVERDUETU-3a alt contact not confirmed within PT20MTU-3a.
TRAVELER_DEPARTED_IRREGULARLYTU-3b confirmed by human actorTU-3b.
TRAVELER_DECEASEDTU-5 confirmed or strongly suspectedTU-5. Invoked immediately.
TRAVELER_VICTIM_OF_CRIMETU-6 confirmedTU-6. Invoked immediately. PT10M deadline.

8. Security Kernel Validation Rules (Step 6 additions)

DOR-1 through DOR-8 unchanged from v3. Step 6 adds three new rules and updates DOR-7.

Rule IDRuleEffect
DOR-1 to DOR-8Unchanged from v3.
DOR-7-SAR2 (updated)reasoning ≥ per-action minimum. REASONING_INSUFFICIENT replaces CONFIDENCE_UNDERRUN for reasoning-length failures. CONFIDENCE_UNDERRUN retained for confidence-value failures.Reject if below floor. Re-invoke once. If still short: HEM with REASONING_INSUFFICIENT.
DOR-9Decision Object interacting with active SUPPLIER_FAILURE_AT_DELIVERY incident must include source_signal_reference pointing to incident_id.Reject if absent or non-resolving.
DOR-10SF-2 classification requires sf2_human_confirmation_ref. Runtime must verify reference resolves before committing.Reject SF-2 without verified confirmation.
DOR-11Traveler acceptance of SF-2 substitution must be a Decision Object. Autonomous acceptance not permitted.Reject without explicit traveler consent reference.

9. CP-S3 Input Traceability (Step 6 update)

Input IDDT scopeStep 6 update
CP-S3-1DT-1Unchanged from v3.
CP-S3-2DT-2Unchanged from v3.
CP-S3-3DT-3Unchanged from v3.
CP-S3-4DT-4SUPPLIER_FAILURE_AT_DELIVERY activates within DT-4 FULFILLMENT states. claim_initiation_ref hook provides claim state. W2 REQUIRES_REPATRIATION activates DT-4 rebooking authority. BOOKING_SUSPENDED terminates all DT-4 action authority.
CP-S3-5DT-5W2 active event fields (wellness_event_type, fit_to_continue) are key DT-5 monitoring inputs. SF-1 NO_SHOW_SUPPLIER is primary failure type surfaced in DT-5 monitoring.
CP-S3-6DT-6Unchanged from v3. BOOKING_SUSPENDED terminates DT-6 negotiation authority.
CP-S3-7AllTravelerWellnessStatus and SUPPLIER_FAILURE_AT_DELIVERY incident fields must never appear in the precedent index. TRAVELER_PII constraint enforced.
CP-S3-8AllAgentAuthorityDeclaration (SAR-11: BUSINESS_GROUP_LEAD added). DecisionObject (SAR-12: REASONING_INSUFFICIENT added). DOR-9, DOR-10, DOR-11 added.
CP-S3-9AllContextPackageBase (SAR-13: location_disclosure_blocked added). ActivityTimeContext unchanged from v3.
CP-S3-10AllTRAVELER_PII sanitisation rules: Section 1.3. CUSTOMER_INPUT sanitisation pipeline: Section 1.2. SUPPLIER_FAILURE_AT_DELIVERY incident fields carry BOOKING_OBJECT classification — not TRAVELER_PII.

10. Layer 2 Forward Compatibility

RequirementSchema locationLayer 2 action
Capability Catalogue wellness requirementsTravelerWellnessStatus.ssr_codesLayer 2 Capability Declaration must allow suppliers to declare SSR-compatible service capabilities. W4 SSR codes must be checkable against supplier declarations at booking assignment.
Supplier failure taxonomySUPPLIER_FAILURE_AT_DELIVERY.failure_categoryLayer 2 Capability Declaration should allow suppliers to declare no-show and service delivery guarantee policies.
Jurisdiction law enforcement contactsJurisdiction Compliance RegistryLayer 2 Jurisdiction Registry entries must include law enforcement and emergency services contact references. Required by TU-2, TU-5, TU-6.
IATA welfare obligation thresholdsJurisdiction Compliance RegistryEntries for JP, EU, GB, US must incorporate IATA welfare obligation thresholds as baseline duty-of-care parameters.

11. Open Questions Status

ItemStatusResolution
SAR-10 through SAR-21APPLIEDApplied in this document (v6).
REASONING_INSUFFICIENT labelCLOSEDSAR-12 applied.
BOOKING_SUSPENDED and BOOKING_CANCELLED_SUSPENDEDCLOSEDSAR-16, SAR-17 applied.
BUSINESS_GROUP_LEAD scopeCLOSEDSAR-11 applied.
SUPPLIER_FAILURE_AT_DELIVERY + claim_initiation_refCLOSEDSAR-19, SAR-15 applied.
TravelerWellnessStatus full schemaCLOSEDSAR-14 applied.
TRAVELER_FOUND and RECOVERED event schemasCLOSEDSAR-20, SAR-21 applied.
NDC compatibility bridgeOPEN — Layer 4Named Layer 4 deliverable.
SUPPLIER_FAILURE_AT_DELIVERY commercial specOPEN — separate specPayment, compensation, dispute resolution outside ATP core scope.
SSF/RISC remediation policy gapOPEN — implementation guidanceValidate against live SSF implementation before protocol-committing.
TU chain live operational testingOPEN — implementation guidanceAll chains must be tested against real operational events.
Cross-invocation anomaly thresholdsOPEN — implementation guidanceCannot be committed without live data.
A2A multi-agent DT-6OPEN — deferredWatch for Google A2A protocol maturity.

12. Items Deferred Beyond Step 6

ItemDeferred to
NDC compatibility bridge and ONE Order mappingLayer 4
MEDIF-equivalent workflow implementation guidanceCompanion implementation guidance paper
IATA SSR code reference guide and FREMEC implementation guidanceCompanion implementation guidance paper
IATA welfare obligation thresholds in Jurisdiction Registry (JP, EU, GB, US)Jurisdiction Registry entries update
SUPPLIER_FAILURE_AT_DELIVERY payment, compensation, settlement, dispute resolutionSeparate commercial specification
Cross-jurisdiction enforcement of supplier failure claimsSeparate commercial specification
Insurance integration for supplier failure and wellness eventsSeparate commercial specification
TU-3b companion implementation guidanceCompanion implementation guidance paper
Escalation handling best practices for small operators and large OTAsCompanion implementation guidance paper

Step 6 Complete

SAR-10 through SAR-21 applied. All open items from v3 closed except deferred items in Section 12.

Next specification work: Layer 4 — Schema and SDK. Prerequisite: SDK Architecture Blueprint (Track 3 Session 2).

Activity Travel Protocol — Open Specification