{
  "entrypoint": {
    "entrypointKey": "app-generation",
    "instructionSetId": "aqteron.app-generation",
    "instructionReleaseId": "aqteron.app-generation@0.2.13-rc.1",
    "updatedAt": "2026-09-15T12:14:47.855Z",
    "updatedBy": "gen-context-ux-002",
    "reason": "GEN-CONTEXT-UX-002 staging proof"
  },
  "instructionSet": {
    "instructionSetId": "aqteron.app-generation",
    "setKey": "aqteron.app-generation",
    "displayName": "Aqteron App Generation",
    "description": "Repository draft seed for Aqteron Builder app-generation instructions.",
    "metadataJson": "{\"status\":\"draft\",\"version\":\"0.2.13\",\"contract\":\"Aqteron PWA v1\",\"runtimeSourceOfTruth\":\"aqteron_server_database\",\"repositoryRole\":\"development_seed_export_snapshot\",\"registryMode\":\"database_discovery\",\"architecture\":\"SERVER_INSTRUCTION_ARCHITECTURE.md\",\"bootstrapDraft\":\"BOOTSTRAP.md\",\"capabilityPreflight\":{\"schemaVersion\":\"aqteron.capability_preflight_handoff.v1\",\"cabinetPath\":\"/cabinet/apps\",\"hashRoute\":\"capability-preflight\",\"capabilityIdParameter\":\"id\",\"maxCapabilityIds\":50,\"maxCapabilityIdLength\":128,\"authenticated\":true},\"sourcePath\":\"instruction-set.json\",\"generationHandoff\":{\"schemaVersion\":\"aqteron.generation_handoff.v1\",\"responseSchemaVersion\":\"aqteron.generation_handoff_response.v1\",\"capabilitySnapshotSchemaVersion\":\"aqteron.account_capability_snapshot.v1\",\"authenticatedAccountRequired\":true,\"accountSpecific\":true,\"authorizationSemantics\":\"composition_data_only\",\"finalAuthority\":[\"upload_validation\",\"runtime_validation\"],\"allCapabilitiesRequest\":{\"method\":\"GET\",\"endpoint\":\"/api/me/generation-handoff\",\"scope\":\"all_generation_capabilities\"},\"exactCapabilitySetRequest\":{\"method\":\"POST\",\"endpoint\":\"/api/me/generation-handoff\",\"scope\":\"exact_capability_set\",\"capabilityIdsRequired\":true,\"emptyCapabilityIdsValid\":true,\"requiredBeforeFinalZip\":true},\"freshness\":{\"checkedAtRequired\":true,\"expiresAtRequired\":true,\"refreshWhenExpired\":true},\"fallbackMode\":\"none\"},\"generationContext\":{\"schemaVersion\":\"aqteron.ai_generation_context.v1\",\"deliveryMode\":\"official_server_resolved_locator\",\"authenticatedAccountPresenceSatisfied\":true,\"embeddedCapabilityPreflight\":true,\"secondManualAccountHandoffRequired\":false,\"zeroCapabilityGenerationAllowed\":true,\"arbitraryPastedJsonAccepted\":false,\"publicDiscoverySatisfiesAccountGate\":false,\"legacyNonContextGate\":\"authenticated_snapshot_or_exact_preflight\",\"capabilitySelectionMode\":\"choose_only_generation_usable_with_included_module\",\"responseLanguageHint\":\"cabinet_locale_overridden_by_newer_substantive_user_language\",\"managedFilesPolicy\":\"select_app_files_for_private_server_backed_files_without_silent_local_fallback\",\"snapshotNotAuthorization\":true,\"uploadRuntimeRevalidationRequired\":true}}",
    "metadata": {
      "status": "draft",
      "version": "0.2.13",
      "contract": "Aqteron PWA v1",
      "runtimeSourceOfTruth": "aqteron_server_database",
      "repositoryRole": "development_seed_export_snapshot",
      "registryMode": "database_discovery",
      "architecture": "SERVER_INSTRUCTION_ARCHITECTURE.md",
      "bootstrapDraft": "BOOTSTRAP.md",
      "capabilityPreflight": {
        "schemaVersion": "aqteron.capability_preflight_handoff.v1",
        "cabinetPath": "/cabinet/apps",
        "hashRoute": "capability-preflight",
        "capabilityIdParameter": "id",
        "maxCapabilityIds": 50,
        "maxCapabilityIdLength": 128,
        "authenticated": true
      },
      "sourcePath": "instruction-set.json",
      "generationHandoff": {
        "schemaVersion": "aqteron.generation_handoff.v1",
        "responseSchemaVersion": "aqteron.generation_handoff_response.v1",
        "capabilitySnapshotSchemaVersion": "aqteron.account_capability_snapshot.v1",
        "authenticatedAccountRequired": true,
        "accountSpecific": true,
        "authorizationSemantics": "composition_data_only",
        "finalAuthority": [
          "upload_validation",
          "runtime_validation"
        ],
        "allCapabilitiesRequest": {
          "method": "GET",
          "endpoint": "/api/me/generation-handoff",
          "scope": "all_generation_capabilities"
        },
        "exactCapabilitySetRequest": {
          "method": "POST",
          "endpoint": "/api/me/generation-handoff",
          "scope": "exact_capability_set",
          "capabilityIdsRequired": true,
          "emptyCapabilityIdsValid": true,
          "requiredBeforeFinalZip": true
        },
        "freshness": {
          "checkedAtRequired": true,
          "expiresAtRequired": true,
          "refreshWhenExpired": true
        },
        "fallbackMode": "none"
      },
      "generationContext": {
        "schemaVersion": "aqteron.ai_generation_context.v1",
        "deliveryMode": "official_server_resolved_locator",
        "authenticatedAccountPresenceSatisfied": true,
        "embeddedCapabilityPreflight": true,
        "secondManualAccountHandoffRequired": false,
        "zeroCapabilityGenerationAllowed": true,
        "arbitraryPastedJsonAccepted": false,
        "publicDiscoverySatisfiesAccountGate": false,
        "legacyNonContextGate": "authenticated_snapshot_or_exact_preflight",
        "capabilitySelectionMode": "choose_only_generation_usable_with_included_module",
        "responseLanguageHint": "cabinet_locale_overridden_by_newer_substantive_user_language",
        "managedFilesPolicy": "select_app_files_for_private_server_backed_files_without_silent_local_fallback",
        "snapshotNotAuthorization": true,
        "uploadRuntimeRevalidationRequired": true
      }
    },
    "createdAt": "2026-08-09T00:00:00.000Z",
    "updatedAt": "2026-08-09T00:00:00.000Z"
  },
  "release": {
    "instructionReleaseId": "aqteron.app-generation@0.2.13-rc.1",
    "instructionSetId": "aqteron.app-generation",
    "releaseKey": "0.2.13-rc.1",
    "releaseStatus": "published",
    "metadataJson": "{\"taskId\":\"GEN-CONTEXT-UX-001\",\"releaseVersion\":\"0.2.13-rc.1\",\"immutableComposition\":true,\"active\":false,\"published\":false,\"instructionSet\":{\"id\":\"aqteron.app-generation\",\"key\":\"aqteron.app-generation\",\"version\":\"0.2.13\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"runtimeSourceOfTruth\":\"aqteron_server_database\",\"sourceMetadata\":{\"status\":\"draft\",\"version\":\"0.2.13\",\"contract\":\"Aqteron PWA v1\",\"runtimeSourceOfTruth\":\"aqteron_server_database\",\"repositoryRole\":\"development_seed_export_snapshot\",\"registryMode\":\"database_discovery\",\"architecture\":\"SERVER_INSTRUCTION_ARCHITECTURE.md\",\"bootstrapDraft\":\"BOOTSTRAP.md\",\"capabilityPreflight\":{\"schemaVersion\":\"aqteron.capability_preflight_handoff.v1\",\"cabinetPath\":\"/cabinet/apps\",\"hashRoute\":\"capability-preflight\",\"capabilityIdParameter\":\"id\",\"maxCapabilityIds\":50,\"maxCapabilityIdLength\":128,\"authenticated\":true},\"sourcePath\":\"instruction-set.json\",\"generationHandoff\":{\"schemaVersion\":\"aqteron.generation_handoff.v1\",\"responseSchemaVersion\":\"aqteron.generation_handoff_response.v1\",\"capabilitySnapshotSchemaVersion\":\"aqteron.account_capability_snapshot.v1\",\"authenticatedAccountRequired\":true,\"accountSpecific\":true,\"authorizationSemantics\":\"composition_data_only\",\"finalAuthority\":[\"upload_validation\",\"runtime_validation\"],\"allCapabilitiesRequest\":{\"method\":\"GET\",\"endpoint\":\"/api/me/generation-handoff\",\"scope\":\"all_generation_capabilities\"},\"exactCapabilitySetRequest\":{\"method\":\"POST\",\"endpoint\":\"/api/me/generation-handoff\",\"scope\":\"exact_capability_set\",\"capabilityIdsRequired\":true,\"emptyCapabilityIdsValid\":true,\"requiredBeforeFinalZip\":true},\"freshness\":{\"checkedAtRequired\":true,\"expiresAtRequired\":true,\"refreshWhenExpired\":true},\"fallbackMode\":\"none\"},\"generationContext\":{\"schemaVersion\":\"aqteron.ai_generation_context.v1\",\"deliveryMode\":\"official_server_resolved_locator\",\"authenticatedAccountPresenceSatisfied\":true,\"embeddedCapabilityPreflight\":true,\"secondManualAccountHandoffRequired\":false,\"zeroCapabilityGenerationAllowed\":true,\"arbitraryPastedJsonAccepted\":false,\"publicDiscoverySatisfiesAccountGate\":false,\"legacyNonContextGate\":\"authenticated_snapshot_or_exact_preflight\",\"capabilitySelectionMode\":\"choose_only_generation_usable_with_included_module\",\"responseLanguageHint\":\"cabinet_locale_overridden_by_newer_substantive_user_language\",\"managedFilesPolicy\":\"select_app_files_for_private_server_backed_files_without_silent_local_fallback\",\"snapshotNotAuthorization\":true,\"uploadRuntimeRevalidationRequired\":true}}},\"modulePins\":[{\"instructionModuleId\":\"aqteron.builder.core\",\"moduleKey\":\"aqteron.builder.core\",\"moduleKind\":\"core\",\"sourcePath\":\"BUILDER_CORE.md\",\"instructionModuleVersionId\":\"aqteron.builder.core@0.2.6\",\"versionLabel\":\"0.2.6\",\"contentSha256\":\"c15131e44427fb0f47a422e4fa46e7c1da75ddec0848b8a5d7a8c1eb0d62f8aa\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":null,\"capabilityAvailability\":null,\"selfCheckMetadata\":null},{\"instructionModuleId\":\"aqteron.capability.app_database@1\",\"moduleKey\":\"aqteron.capability.app_database@1\",\"moduleKind\":\"capability\",\"sourcePath\":\"capabilities/APP_DATABASE.md\",\"instructionModuleVersionId\":\"aqteron.capability.app_database@1@0.1.4\",\"versionLabel\":\"0.1.4\",\"contentSha256\":\"dab962f189c199bd9dd7db5ff04047d913db0c1d0a8a8af689fc4e02d354d2d0\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"App-scoped JSON record storage for shared or cross-device persistence.\",\"userNeeds\":[\"persist structured records beyond one browser or install\",\"share app-scoped records across linked users or devices\",\"store bounded server-side JSON records\"],\"selectionSignals\":[\"localStorage or IndexedDB is insufficient\",\"records must survive reinstall or device changes\",\"multiple users or devices need the same app data\"],\"exclusions\":[\"file, image, document, or attachment storage\",\"raw SQL or arbitrary backend database access\",\"secrets, credentials, passwords, tokens, or private keys\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"app_database@1\"},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"capabilityAvailability\":{\"capabilityKey\":\"app_database@1\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\"},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.app_database@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"capability is declared when JavaScript uses `appDatabase`\"},{\"id\":\"used_collections_declared\",\"text\":\"every used collection is declared\"},{\"id\":\"schema_keys_match\",\"text\":\"schema and JS keys are identical lower_snake_case ASCII\"},{\"id\":\"no_undeclared_fields\",\"text\":\"no undeclared extra fields are written\"},{\"id\":\"new_record_uses_put\",\"text\":\"every new logical record uses `put` with declared `record.create`\"},{\"id\":\"existing_record_uses_set\",\"text\":\"every existing logical record update uses `set` with declared `record.update`\"},{\"id\":\"offline_replay_preserves_intent\",\"text\":\"offline/deferred replay preserves `put` versus `set` operation intent\"},{\"id\":\"bounded_list_limit\",\"text\":\"every `list` call has an explicit numeric limit from 1 to 100\"},{\"id\":\"db_list_limit_not_record_quota\",\"text\":\"a `list` retrieval limit is not treated as the collection `maxRecords` quota\"},{\"id\":\"no_raw_secrets\",\"text\":\"no raw secrets are persisted\"},{\"id\":\"no_private_database_routes\",\"text\":\"no direct/private database routes or raw SQL are used\"},{\"id\":\"user_readable_errors\",\"text\":\"capability failures produce user-readable UI errors\"}]}},{\"instructionModuleId\":\"aqteron.capability.app_files@1\",\"moduleKey\":\"aqteron.capability.app_files@1\",\"moduleKind\":\"capability\",\"sourcePath\":\"capabilities/APP_FILES.md\",\"instructionModuleVersionId\":\"aqteron.capability.app_files@1@0.3.0\",\"versionLabel\":\"0.3.0\",\"contentSha256\":\"e808f6ed382586610ecc69ceca2b9775939efa0a0558498069dc1d28ae243f1b\",\"status\":\"activation_candidate\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Guarded private file storage for entitled applications when canonical readiness controls pass.\",\"userNeeds\":[\"store user files, attachments, images, documents, imports, or exports\",\"keep private application-scoped files in managed storage\",\"associate files with app workflows\"],\"selectionSignals\":[\"managed private files are required and server-side entitlement is available\",\"files must persist outside local browser storage\",\"workflow references uploaded or generated files\"],\"exclusions\":[\"workflows that can remain entirely in local browser storage\",\"public hosting or public URL generation\",\"shared-drive behavior across unrelated apps or users\",\"structured JSON record storage without files\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"app_files@1\"},\"availability\":{\"instructionStatus\":\"activation_candidate\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"capabilityAvailability\":{\"capabilityKey\":\"app_files@1\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\"},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.app_files@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"capability is declared if `appFiles` is used\"},{\"id\":\"only_prompt2app_helper\",\"text\":\"only the exact `window.Prompt2App.appFiles` methods above are used\"},{\"id\":\"account_linking_checked\",\"text\":\"account connection is user-initiated after `app_files_auth_required`\"},{\"id\":\"used_buckets_declared_private\",\"text\":\"every used bucket is declared and private\"},{\"id\":\"file_quota_dimensions_coherent\",\"text\":\"MIME types are bounded and `maxFileSizeBytes`, `maxTotalBytes`, and `maxFiles` are validated as separate dimensions within their exact ceilings\"},{\"id\":\"mixed_db_files_fixture_coherent\",\"text\":\"mixed database/file workflows keep database `list` limits, database `maxRecords`, and file `maxFiles` distinct and dimensionally coherent\"},{\"id\":\"exact_file_transport\",\"text\":\"file inputs are browser `File` values and downloads use `contentBase64`\"},{\"id\":\"no_invented_storage_authority\",\"text\":\"no public/presigned/storage URLs, filesystem paths, internal metadata, or unsupported sharing are invented\"},{\"id\":\"server_entitlement_authority\",\"text\":\"server entitlement is never inferred from the package\"},{\"id\":\"visible_errors\",\"text\":\"errors are visible and do not falsely report successful storage\"}]}},{\"instructionModuleId\":\"aqteron.capability.push_notifications@1\",\"moduleKey\":\"aqteron.capability.push_notifications@1\",\"moduleKind\":\"capability\",\"sourcePath\":\"capabilities/PUSH_NOTIFICATIONS.md\",\"instructionModuleVersionId\":\"aqteron.capability.push_notifications@1@0.1.4\",\"versionLabel\":\"0.1.4\",\"contentSha256\":\"0a5b01fb4034869ce181ee4312653e82c1a7b463590a56b4766e4f3c66c11886\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Platform-managed push notification subscription and declared trigger support.\",\"userNeeds\":[\"notify users while the installed or browser PWA is closed\",\"support declared message, reminder, or shared-data alerts\",\"let users subscribe, unsubscribe, and manage notification preferences\"],\"selectionSignals\":[\"user explicitly needs push or closed-app alerts\",\"notification trigger fits the supported platform contract\",\"helper-only subscription controls are sufficient\"],\"exclusions\":[\"custom service workers or direct push provider calls\",\"invented send endpoints or arbitrary server triggers\",\"storing browser subscription secrets in app state\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"capabilityAvailability\":{\"capabilityKey\":\"push_notifications@1\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\"},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.push_notifications@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"`push_notifications@1` is declared when notifications helper is used\"},{\"id\":\"supported_methods_only\",\"text\":\"only supported helper methods are called and no `send()` exists\"},{\"id\":\"no_app_service_worker_or_provider\",\"text\":\"no application service worker or push-provider endpoint is included\"},{\"id\":\"separate_explicit_user_actions\",\"text\":\"account linking and permission are separate explicit user actions\"},{\"id\":\"declared_database_trigger_fields\",\"text\":\"triggers use declared `app_database.record.create` fields\"},{\"id\":\"push_create_trigger_uses_create_path\",\"text\":\"every `app_database.record.create` trigger record uses the `appDatabase.put` create path, including offline/deferred replay\"},{\"id\":\"bounded_trigger_fields\",\"text\":\"actor/target/click URL fields exist as bounded strings in the database schema\"},{\"id\":\"same_app_click_url\",\"text\":\"click URL is root-relative and same-app\"},{\"id\":\"bounded_non_private_content\",\"text\":\"notification title/body are bounded and do not expose private message contents\"},{\"id\":\"opaque_recipient_ids\",\"text\":\"opaque recipient IDs are not treated as secrets or modified\"}]}},{\"instructionModuleId\":\"aqteron.capability.web_parser@1\",\"moduleKey\":\"aqteron.capability.web_parser@1\",\"moduleKind\":\"capability\",\"sourcePath\":\"capabilities/WEB_PARSER.md\",\"instructionModuleVersionId\":\"aqteron.capability.web_parser@1@0.1.3\",\"versionLabel\":\"0.1.3\",\"contentSha256\":\"003fb3b25484e51cf31debc345cc074acbbf2ae55056deb7580d44de62923281\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Prepared public readable-text parsing contract; not selectable for current production generation.\",\"userNeeds\":[\"read sanitized text from approved public HTTP(S) pages\",\"extract readable text from a specific public URL\",\"use public web text inside an Aqteron workflow\"],\"selectionSignals\":[\"future registry marks this module Builder-selectable and runtime-available\",\"source pages are public, readable, and approved\",\"readable_text output is sufficient\"],\"exclusions\":[\"current production generation\",\"login-only, private, internal, localhost, or metadata URLs\",\"broad crawling, screenshots, binary downloads, raw HTML execution, or browser automation\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"web_parser@1\"},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\"}},\"capabilityAvailability\":{\"capabilityKey\":\"web_parser@1\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\"},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.web_parser@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"workflow_needs_public_text\",\"text\":\"the user workflow genuinely needs public readable text\"},{\"id\":\"requested_domains_declared\",\"text\":\"every requested domain is explicitly declared\"},{\"id\":\"readable_text_only\",\"text\":\"only `readable_text` is requested\"},{\"id\":\"no_login_or_auth_forwarding\",\"text\":\"no login/session/cookie/Auth forwarding is attempted\"},{\"id\":\"no_private_targets\",\"text\":\"no private/internal/localhost/IP target is accepted\"},{\"id\":\"no_direct_scraping\",\"text\":\"no direct cross-origin scraping/headless crawling is implemented\"},{\"id\":\"declaration_request_agree\",\"text\":\"capability declaration and request URL agree\"},{\"id\":\"platform_errors_user_facing\",\"text\":\"platform errors are shown in user-facing form\"}]}},{\"instructionModuleId\":\"aqteron.capability.webrtc_signaling@1\",\"moduleKey\":\"aqteron.capability.webrtc_signaling@1\",\"moduleKind\":\"capability\",\"sourcePath\":\"capabilities/WEBRTC_SIGNALING.md\",\"instructionModuleVersionId\":\"aqteron.capability.webrtc_signaling@1@0.1.3\",\"versionLabel\":\"0.1.3\",\"contentSha256\":\"a124248eb1a5f4d79e9b8a2d3f954eff19da79255b5aea33dd7b2a52afdc8a45\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Prepared WebRTC signaling contract; not selectable for current production generation.\",\"userNeeds\":[\"coordinate browser peer-to-peer audio, video, or data channel setup\",\"exchange short-lived WebRTC signaling messages\",\"support future real-time peer connection workflows\"],\"selectionSignals\":[\"future registry marks this module Builder-selectable and runtime-available\",\"application needs WebRTC signaling rather than media relay\",\"short-lived helper-mediated signaling is sufficient\"],\"exclusions\":[\"current production generation\",\"media relay, recording, TURN/STUN credential management, or persistent chat storage\",\"storing SDP or ICE payloads in app_database@1\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\"}},\"capabilityAvailability\":{\"capabilityKey\":\"webrtc_signaling@1\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\"},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.webrtc_signaling@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"the capability is declared if signaling helper is used\"},{\"id\":\"signaling_not_database_persisted\",\"text\":\"signaling data is not persisted in `app_database@1`\"},{\"id\":\"no_custom_signaling_route\",\"text\":\"no private/custom signaling server route is invented\"},{\"id\":\"bounded_payload_and_ttl\",\"text\":\"payload size and TTL are bounded\"},{\"id\":\"p2p_media_boundary\",\"text\":\"audio/video is peer-to-peer and not falsely described as Aqteron media relay\"},{\"id\":\"no_unsupported_turn_promise\",\"text\":\"TURN availability is not promised unless a supported TURN capability exists\"},{\"id\":\"visible_failure_states\",\"text\":\"call failure and unsupported-environment states are shown to the user\"}]}},{\"instructionModuleId\":\"aqteron.final-check.pwa-v1\",\"moduleKey\":\"aqteron.final-check.pwa-v1\",\"moduleKind\":\"final_check\",\"sourcePath\":\"FINAL_CHECK.md\",\"instructionModuleVersionId\":\"aqteron.final-check.pwa-v1@0.2.2\",\"versionLabel\":\"0.2.2\",\"contentSha256\":\"0d6797c3c4324694a36e8e9f61e8f4c7351ed97a4ea683e1455df23d58598d77\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":null,\"capabilityAvailability\":null,\"selfCheckMetadata\":null},{\"instructionModuleId\":\"aqteron.final-response.user-facing-v1\",\"moduleKey\":\"aqteron.final-response.user-facing-v1\",\"moduleKind\":\"final_response\",\"sourcePath\":\"FINAL_RESPONSE.md\",\"instructionModuleVersionId\":\"aqteron.final-response.user-facing-v1@0.1.1\",\"versionLabel\":\"0.1.1\",\"contentSha256\":\"9784bf20ba0c313a559375b12d7fe83c921ae7ef8122cbf448b008a79a93d31a\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":null,\"capabilityAvailability\":null,\"selfCheckMetadata\":null},{\"instructionModuleId\":\"aqteron.package.pwa-v1\",\"moduleKey\":\"aqteron.package.pwa-v1\",\"moduleKind\":\"package\",\"sourcePath\":\"PACKAGE.md\",\"instructionModuleVersionId\":\"aqteron.package.pwa-v1@0.1.3\",\"versionLabel\":\"0.1.3\",\"contentSha256\":\"8fdd25c656a7dd2a171660eb7bbb419bebf0835b72b00c10158f06660abe16f1\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":null,\"capabilityAvailability\":null,\"selfCheckMetadata\":null},{\"instructionModuleId\":\"aqteron.type.app\",\"moduleKey\":\"aqteron.type.app\",\"moduleKind\":\"type\",\"sourcePath\":\"types/APP.md\",\"instructionModuleVersionId\":\"aqteron.type.app@0.1.1\",\"versionLabel\":\"0.1.1\",\"contentSha256\":\"a4d220de4a687403f00c74f3a2658885f035c400b3bbb5bd869c9b074b75ca03\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Focused record or workflow application for repeated personal or business tasks.\",\"userNeeds\":[\"track records or ongoing state\",\"organize repeated workflows\",\"manage personal or business data\"],\"selectionSignals\":[\"records need create/view/edit/delete behavior\",\"workflow spans multiple steps or screens\",\"saved state is central to the user value\"],\"exclusions\":[\"one-off calculator, converter, validator, or generator\",\"primarily informational or promotional website\",\"playable game-first request\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":null,\"runtimeStatus\":null,\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":null,\"notSelectableReason\":null}},\"capabilityAvailability\":null,\"selfCheckMetadata\":null},{\"instructionModuleId\":\"aqteron.type.game\",\"moduleKey\":\"aqteron.type.game\",\"moduleKind\":\"type\",\"sourcePath\":\"types/GAME.md\",\"instructionModuleVersionId\":\"aqteron.type.game@0.1.1\",\"versionLabel\":\"0.1.1\",\"contentSha256\":\"fad98ade2dfb39851e044dc3c461982c3991481aa99304a24e84309d036fff8f\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Playable browser game with a complete objective, loop, controls, and feedback.\",\"userNeeds\":[\"play a browser game\",\"support scoring, levels, turns, challenge, or replay\",\"create an interactive entertainment experience\"],\"selectionSignals\":[\"primary value is gameplay\",\"rules, controls, win/loss, score, or progression are required\",\"first screen should start or explain play\"],\"exclusions\":[\"business or personal record workflow\",\"one-off productivity utility\",\"informational or promotional website\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":null,\"runtimeStatus\":null,\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":null,\"notSelectableReason\":null}},\"capabilityAvailability\":null,\"selfCheckMetadata\":null},{\"instructionModuleId\":\"aqteron.type.tool\",\"moduleKey\":\"aqteron.type.tool\",\"moduleKind\":\"type\",\"sourcePath\":\"types/TOOL.md\",\"instructionModuleVersionId\":\"aqteron.type.tool@0.1.1\",\"versionLabel\":\"0.1.1\",\"contentSha256\":\"542e780b53c5b6cbcff55fa71d3b8661d0089364b5e1a2359a6640b62da3f008\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Direct task-first utility for a narrow input-action-result workflow.\",\"userNeeds\":[\"calculate, convert, generate, analyze, validate, format, or plan\",\"complete a narrow task with clear inputs and outputs\",\"reuse a compact work instrument\"],\"selectionSignals\":[\"single primary action produces the result\",\"inputs, assumptions, validation, and output are the main workflow\",\"dashboard, account, or record lifecycle is not central\"],\"exclusions\":[\"broad multi-record application\",\"marketing or content website\",\"playable game\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":null,\"runtimeStatus\":null,\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":null,\"notSelectableReason\":null}},\"capabilityAvailability\":null,\"selfCheckMetadata\":null},{\"instructionModuleId\":\"aqteron.type.website\",\"moduleKey\":\"aqteron.type.website\",\"moduleKind\":\"type\",\"sourcePath\":\"types/WEBSITE.md\",\"instructionModuleVersionId\":\"aqteron.type.website@0.1.1\",\"versionLabel\":\"0.1.1\",\"contentSha256\":\"278a6fed8766375fe579f692438e7d0c88d44b192f09caff734a5fcd3e580c5c\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Publishable informational, promotional, portfolio, catalogue, or company website.\",\"userNeeds\":[\"present information, brand, offer, work, catalogue, or content\",\"guide visitors to contact, buy, book, learn, or explore\",\"publish a multi-section or multi-page site\"],\"selectionSignals\":[\"visitor communication is the main goal\",\"sections such as overview, proof, services, pricing, FAQ, or contact are useful\",\"content hierarchy and calls to action matter more than record management\"],\"exclusions\":[\"repeated record-based application\",\"single-purpose calculator or generator\",\"playable game\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":null,\"runtimeStatus\":null,\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":null,\"notSelectableReason\":null}},\"capabilityAvailability\":null,\"selfCheckMetadata\":null}],\"capabilityRegistry\":[{\"capabilityKey\":\"ai_bridge@1\",\"instructionModuleId\":null,\"instructionModuleVersionId\":null,\"registryStatus\":\"disabled\",\"displayName\":\"AI Bridge\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\",\"metadata\":{\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"AI Bridge\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\"},\"fr\":{\"name\":\"Passerelle IA\",\"summary\":\"Capacité préparatoire désactivée, indisponible dans la production actuelle.\"},\"ru\":{\"name\":\"Шлюз ИИ\",\"summary\":\"Отключённая заготовка возможности; недоступна в текущей production-среде.\"}}},\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"},{\"capabilityKey\":\"app_database@1\",\"instructionModuleId\":\"aqteron.capability.app_database@1\",\"instructionModuleVersionId\":\"aqteron.capability.app_database@1@0.1.4\",\"registryStatus\":\"available\",\"displayName\":\"App Database\",\"summary\":\"App-scoped JSON record storage for shared or cross-device persistence.\",\"metadata\":{\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"App Database\",\"summary\":\"App-scoped JSON record storage for shared or cross-device persistence.\"},\"fr\":{\"name\":\"Base de données de l'application\",\"summary\":\"Stockage de documents JSON propre à l'application pour une persistance partagée ou multi-appareil.\"},\"ru\":{\"name\":\"База данных приложения\",\"summary\":\"Хранилище JSON-записей приложения для общего доступа и синхронизации между устройствами.\"}}},\"sourcePath\":\"capabilities/APP_DATABASE.md\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"App-scoped JSON record storage for shared or cross-device persistence.\",\"userNeeds\":[\"persist structured records beyond one browser or install\",\"share app-scoped records across linked users or devices\",\"store bounded server-side JSON records\"],\"selectionSignals\":[\"localStorage or IndexedDB is insufficient\",\"records must survive reinstall or device changes\",\"multiple users or devices need the same app data\"],\"exclusions\":[\"file, image, document, or attachment storage\",\"raw SQL or arbitrary backend database access\",\"secrets, credentials, passwords, tokens, or private keys\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"app_database@1\"},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.app_database@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"capability is declared when JavaScript uses `appDatabase`\"},{\"id\":\"used_collections_declared\",\"text\":\"every used collection is declared\"},{\"id\":\"schema_keys_match\",\"text\":\"schema and JS keys are identical lower_snake_case ASCII\"},{\"id\":\"no_undeclared_fields\",\"text\":\"no undeclared extra fields are written\"},{\"id\":\"new_record_uses_put\",\"text\":\"every new logical record uses `put` with declared `record.create`\"},{\"id\":\"existing_record_uses_set\",\"text\":\"every existing logical record update uses `set` with declared `record.update`\"},{\"id\":\"offline_replay_preserves_intent\",\"text\":\"offline/deferred replay preserves `put` versus `set` operation intent\"},{\"id\":\"bounded_list_limit\",\"text\":\"every `list` call has an explicit numeric limit from 1 to 100\"},{\"id\":\"db_list_limit_not_record_quota\",\"text\":\"a `list` retrieval limit is not treated as the collection `maxRecords` quota\"},{\"id\":\"no_raw_secrets\",\"text\":\"no raw secrets are persisted\"},{\"id\":\"no_private_database_routes\",\"text\":\"no direct/private database routes or raw SQL are used\"},{\"id\":\"user_readable_errors\",\"text\":\"capability failures produce user-readable UI errors\"}]}},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"},{\"capabilityKey\":\"app_files@1\",\"instructionModuleId\":\"aqteron.capability.app_files@1\",\"instructionModuleVersionId\":\"aqteron.capability.app_files@1@0.3.0\",\"registryStatus\":\"available\",\"displayName\":\"App Files\",\"summary\":\"Guarded private file storage for entitled applications when canonical readiness controls pass.\",\"metadata\":{\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"App Files\",\"summary\":\"Guarded private file storage for entitled applications when canonical readiness controls pass.\"},\"fr\":{\"name\":\"Fichiers de l'application\",\"summary\":\"Stockage de fichiers privés protégé pour les applications autorisées lorsque les contrôles de disponibilité canoniques réussissent.\"},\"ru\":{\"name\":\"Файлы приложения\",\"summary\":\"Защищённое приватное хранилище файлов для приложений с правом доступа при успешной канонической проверке готовности.\"}}},\"sourcePath\":\"capabilities/APP_FILES.md\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Guarded private file storage for entitled applications when canonical readiness controls pass.\",\"userNeeds\":[\"store user files, attachments, images, documents, imports, or exports\",\"keep private application-scoped files in managed storage\",\"associate files with app workflows\"],\"selectionSignals\":[\"managed private files are required and server-side entitlement is available\",\"files must persist outside local browser storage\",\"workflow references uploaded or generated files\"],\"exclusions\":[\"workflows that can remain entirely in local browser storage\",\"public hosting or public URL generation\",\"shared-drive behavior across unrelated apps or users\",\"structured JSON record storage without files\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"app_files@1\"},\"availability\":{\"instructionStatus\":\"activation_candidate\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.app_files@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"capability is declared if `appFiles` is used\"},{\"id\":\"only_prompt2app_helper\",\"text\":\"only the exact `window.Prompt2App.appFiles` methods above are used\"},{\"id\":\"account_linking_checked\",\"text\":\"account connection is user-initiated after `app_files_auth_required`\"},{\"id\":\"used_buckets_declared_private\",\"text\":\"every used bucket is declared and private\"},{\"id\":\"file_quota_dimensions_coherent\",\"text\":\"MIME types are bounded and `maxFileSizeBytes`, `maxTotalBytes`, and `maxFiles` are validated as separate dimensions within their exact ceilings\"},{\"id\":\"mixed_db_files_fixture_coherent\",\"text\":\"mixed database/file workflows keep database `list` limits, database `maxRecords`, and file `maxFiles` distinct and dimensionally coherent\"},{\"id\":\"exact_file_transport\",\"text\":\"file inputs are browser `File` values and downloads use `contentBase64`\"},{\"id\":\"no_invented_storage_authority\",\"text\":\"no public/presigned/storage URLs, filesystem paths, internal metadata, or unsupported sharing are invented\"},{\"id\":\"server_entitlement_authority\",\"text\":\"server entitlement is never inferred from the package\"},{\"id\":\"visible_errors\",\"text\":\"errors are visible and do not falsely report successful storage\"}]}},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"},{\"capabilityKey\":\"app_secrets@1\",\"instructionModuleId\":null,\"instructionModuleVersionId\":null,\"registryStatus\":\"disabled\",\"displayName\":\"App Secrets\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\",\"metadata\":{\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"App Secrets\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\"},\"fr\":{\"name\":\"Secrets de l'application\",\"summary\":\"Capacité préparatoire désactivée, indisponible dans la production actuelle.\"},\"ru\":{\"name\":\"Секреты приложения\",\"summary\":\"Отключённая заготовка возможности; недоступна в текущей production-среде.\"}}},\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"},{\"capabilityKey\":\"app_users@1\",\"instructionModuleId\":null,\"instructionModuleVersionId\":null,\"registryStatus\":\"disabled\",\"displayName\":\"App Users\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\",\"metadata\":{\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"App Users\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\"},\"fr\":{\"name\":\"Utilisateurs de l'application\",\"summary\":\"Capacité préparatoire désactivée, indisponible dans la production actuelle.\"},\"ru\":{\"name\":\"Пользователи приложения\",\"summary\":\"Отключённая заготовка возможности; недоступна в текущей production-среде.\"}}},\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"},{\"capabilityKey\":\"external_api_proxy@1\",\"instructionModuleId\":null,\"instructionModuleVersionId\":null,\"registryStatus\":\"disabled\",\"displayName\":\"External API Proxy\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\",\"metadata\":{\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"External API Proxy\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\"},\"fr\":{\"name\":\"Proxy d'API externe\",\"summary\":\"Capacité préparatoire désactivée, indisponible dans la production actuelle.\"},\"ru\":{\"name\":\"Прокси внешнего API\",\"summary\":\"Отключённая заготовка возможности; недоступна в текущей production-среде.\"}}},\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"},{\"capabilityKey\":\"push_notifications@1\",\"instructionModuleId\":\"aqteron.capability.push_notifications@1\",\"instructionModuleVersionId\":\"aqteron.capability.push_notifications@1@0.1.4\",\"registryStatus\":\"available\",\"displayName\":\"Push Notifications\",\"summary\":\"Platform-managed push notification subscription and declared trigger support.\",\"metadata\":{\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"Push Notifications\",\"summary\":\"Platform-managed push notification subscription and declared trigger support.\"},\"fr\":{\"name\":\"Notifications push\",\"summary\":\"Abonnements aux notifications push gérés par la plateforme et prise en charge des déclencheurs déclarés.\"},\"ru\":{\"name\":\"Push-уведомления\",\"summary\":\"Управляемые платформой подписки на push-уведомления и поддержка объявленных триггеров.\"}}},\"sourcePath\":\"capabilities/PUSH_NOTIFICATIONS.md\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Platform-managed push notification subscription and declared trigger support.\",\"userNeeds\":[\"notify users while the installed or browser PWA is closed\",\"support declared message, reminder, or shared-data alerts\",\"let users subscribe, unsubscribe, and manage notification preferences\"],\"selectionSignals\":[\"user explicitly needs push or closed-app alerts\",\"notification trigger fits the supported platform contract\",\"helper-only subscription controls are sufficient\"],\"exclusions\":[\"custom service workers or direct push provider calls\",\"invented send endpoints or arbitrary server triggers\",\"storing browser subscription secrets in app state\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.push_notifications@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"`push_notifications@1` is declared when notifications helper is used\"},{\"id\":\"supported_methods_only\",\"text\":\"only supported helper methods are called and no `send()` exists\"},{\"id\":\"no_app_service_worker_or_provider\",\"text\":\"no application service worker or push-provider endpoint is included\"},{\"id\":\"separate_explicit_user_actions\",\"text\":\"account linking and permission are separate explicit user actions\"},{\"id\":\"declared_database_trigger_fields\",\"text\":\"triggers use declared `app_database.record.create` fields\"},{\"id\":\"push_create_trigger_uses_create_path\",\"text\":\"every `app_database.record.create` trigger record uses the `appDatabase.put` create path, including offline/deferred replay\"},{\"id\":\"bounded_trigger_fields\",\"text\":\"actor/target/click URL fields exist as bounded strings in the database schema\"},{\"id\":\"same_app_click_url\",\"text\":\"click URL is root-relative and same-app\"},{\"id\":\"bounded_non_private_content\",\"text\":\"notification title/body are bounded and do not expose private message contents\"},{\"id\":\"opaque_recipient_ids\",\"text\":\"opaque recipient IDs are not treated as secrets or modified\"}]}},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"},{\"capabilityKey\":\"web_parser@1\",\"instructionModuleId\":\"aqteron.capability.web_parser@1\",\"instructionModuleVersionId\":\"aqteron.capability.web_parser@1@0.1.3\",\"registryStatus\":\"draft\",\"displayName\":\"Web Parser\",\"summary\":\"Prepared public readable-text parsing contract; not selectable for current production generation.\",\"metadata\":{\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"Web Parser\",\"summary\":\"Prepared public readable-text parsing contract; not selectable for current production generation.\"},\"fr\":{\"name\":\"Analyseur web\",\"summary\":\"Contrat préparé d'extraction de texte lisible public, non sélectionnable pour la génération de production actuelle.\"},\"ru\":{\"name\":\"Веб-парсер\",\"summary\":\"Подготовленный контракт извлечения общедоступного читаемого текста; недоступен для текущей production-генерации.\"}}},\"sourcePath\":\"capabilities/WEB_PARSER.md\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Prepared public readable-text parsing contract; not selectable for current production generation.\",\"userNeeds\":[\"read sanitized text from approved public HTTP(S) pages\",\"extract readable text from a specific public URL\",\"use public web text inside an Aqteron workflow\"],\"selectionSignals\":[\"future registry marks this module Builder-selectable and runtime-available\",\"source pages are public, readable, and approved\",\"readable_text output is sufficient\"],\"exclusions\":[\"current production generation\",\"login-only, private, internal, localhost, or metadata URLs\",\"broad crawling, screenshots, binary downloads, raw HTML execution, or browser automation\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"web_parser@1\"},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\"}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.web_parser@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"workflow_needs_public_text\",\"text\":\"the user workflow genuinely needs public readable text\"},{\"id\":\"requested_domains_declared\",\"text\":\"every requested domain is explicitly declared\"},{\"id\":\"readable_text_only\",\"text\":\"only `readable_text` is requested\"},{\"id\":\"no_login_or_auth_forwarding\",\"text\":\"no login/session/cookie/Auth forwarding is attempted\"},{\"id\":\"no_private_targets\",\"text\":\"no private/internal/localhost/IP target is accepted\"},{\"id\":\"no_direct_scraping\",\"text\":\"no direct cross-origin scraping/headless crawling is implemented\"},{\"id\":\"declaration_request_agree\",\"text\":\"capability declaration and request URL agree\"},{\"id\":\"platform_errors_user_facing\",\"text\":\"platform errors are shown in user-facing form\"}]}},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"},{\"capabilityKey\":\"webrtc_signaling@1\",\"instructionModuleId\":\"aqteron.capability.webrtc_signaling@1\",\"instructionModuleVersionId\":\"aqteron.capability.webrtc_signaling@1@0.1.3\",\"registryStatus\":\"draft\",\"displayName\":\"WebRTC Signaling\",\"summary\":\"Prepared WebRTC signaling contract; not selectable for current production generation.\",\"metadata\":{\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"WebRTC Signaling\",\"summary\":\"Prepared WebRTC signaling contract; not selectable for current production generation.\"},\"fr\":{\"name\":\"Signalisation WebRTC\",\"summary\":\"Contrat préparé de signalisation WebRTC, non sélectionnable pour la génération de production actuelle.\"},\"ru\":{\"name\":\"Сигналинг WebRTC\",\"summary\":\"Подготовленный контракт сигналинга WebRTC; недоступен для текущей production-генерации.\"}}},\"sourcePath\":\"capabilities/WEBRTC_SIGNALING.md\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Prepared WebRTC signaling contract; not selectable for current production generation.\",\"userNeeds\":[\"coordinate browser peer-to-peer audio, video, or data channel setup\",\"exchange short-lived WebRTC signaling messages\",\"support future real-time peer connection workflows\"],\"selectionSignals\":[\"future registry marks this module Builder-selectable and runtime-available\",\"application needs WebRTC signaling rather than media relay\",\"short-lived helper-mediated signaling is sufficient\"],\"exclusions\":[\"current production generation\",\"media relay, recording, TURN/STUN credential management, or persistent chat storage\",\"storing SDP or ICE payloads in app_database@1\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\"}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.webrtc_signaling@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"the capability is declared if signaling helper is used\"},{\"id\":\"signaling_not_database_persisted\",\"text\":\"signaling data is not persisted in `app_database@1`\"},{\"id\":\"no_custom_signaling_route\",\"text\":\"no private/custom signaling server route is invented\"},{\"id\":\"bounded_payload_and_ttl\",\"text\":\"payload size and TTL are bounded\"},{\"id\":\"p2p_media_boundary\",\"text\":\"audio/video is peer-to-peer and not falsely described as Aqteron media relay\"},{\"id\":\"no_unsupported_turn_promise\",\"text\":\"TURN availability is not promised unless a supported TURN capability exists\"},{\"id\":\"visible_failure_states\",\"text\":\"call failure and unsupported-environment states are shown to the user\"}]}},\"createdAt\":\"2026-09-15T11:38:02.657Z\",\"updatedAt\":\"2026-09-15T11:38:02.657Z\"}]}",
    "metadata": {
      "taskId": "GEN-CONTEXT-UX-001",
      "releaseVersion": "0.2.13-rc.1",
      "immutableComposition": true,
      "active": false,
      "published": false,
      "instructionSet": {
        "id": "aqteron.app-generation",
        "key": "aqteron.app-generation",
        "version": "0.2.13",
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "runtimeSourceOfTruth": "aqteron_server_database",
        "sourceMetadata": {
          "status": "draft",
          "version": "0.2.13",
          "contract": "Aqteron PWA v1",
          "runtimeSourceOfTruth": "aqteron_server_database",
          "repositoryRole": "development_seed_export_snapshot",
          "registryMode": "database_discovery",
          "architecture": "SERVER_INSTRUCTION_ARCHITECTURE.md",
          "bootstrapDraft": "BOOTSTRAP.md",
          "capabilityPreflight": {
            "schemaVersion": "aqteron.capability_preflight_handoff.v1",
            "cabinetPath": "/cabinet/apps",
            "hashRoute": "capability-preflight",
            "capabilityIdParameter": "id",
            "maxCapabilityIds": 50,
            "maxCapabilityIdLength": 128,
            "authenticated": true
          },
          "sourcePath": "instruction-set.json",
          "generationHandoff": {
            "schemaVersion": "aqteron.generation_handoff.v1",
            "responseSchemaVersion": "aqteron.generation_handoff_response.v1",
            "capabilitySnapshotSchemaVersion": "aqteron.account_capability_snapshot.v1",
            "authenticatedAccountRequired": true,
            "accountSpecific": true,
            "authorizationSemantics": "composition_data_only",
            "finalAuthority": [
              "upload_validation",
              "runtime_validation"
            ],
            "allCapabilitiesRequest": {
              "method": "GET",
              "endpoint": "/api/me/generation-handoff",
              "scope": "all_generation_capabilities"
            },
            "exactCapabilitySetRequest": {
              "method": "POST",
              "endpoint": "/api/me/generation-handoff",
              "scope": "exact_capability_set",
              "capabilityIdsRequired": true,
              "emptyCapabilityIdsValid": true,
              "requiredBeforeFinalZip": true
            },
            "freshness": {
              "checkedAtRequired": true,
              "expiresAtRequired": true,
              "refreshWhenExpired": true
            },
            "fallbackMode": "none"
          },
          "generationContext": {
            "schemaVersion": "aqteron.ai_generation_context.v1",
            "deliveryMode": "official_server_resolved_locator",
            "authenticatedAccountPresenceSatisfied": true,
            "embeddedCapabilityPreflight": true,
            "secondManualAccountHandoffRequired": false,
            "zeroCapabilityGenerationAllowed": true,
            "arbitraryPastedJsonAccepted": false,
            "publicDiscoverySatisfiesAccountGate": false,
            "legacyNonContextGate": "authenticated_snapshot_or_exact_preflight",
            "capabilitySelectionMode": "choose_only_generation_usable_with_included_module",
            "responseLanguageHint": "cabinet_locale_overridden_by_newer_substantive_user_language",
            "managedFilesPolicy": "select_app_files_for_private_server_backed_files_without_silent_local_fallback",
            "snapshotNotAuthorization": true,
            "uploadRuntimeRevalidationRequired": true
          }
        }
      },
      "modulePins": [
        {
          "instructionModuleId": "aqteron.builder.core",
          "moduleKey": "aqteron.builder.core",
          "moduleKind": "core",
          "sourcePath": "BUILDER_CORE.md",
          "instructionModuleVersionId": "aqteron.builder.core@0.2.6",
          "versionLabel": "0.2.6",
          "contentSha256": "c15131e44427fb0f47a422e4fa46e7c1da75ddec0848b8a5d7a8c1eb0d62f8aa",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": null,
          "capabilityAvailability": null,
          "selfCheckMetadata": null
        },
        {
          "instructionModuleId": "aqteron.capability.app_database@1",
          "moduleKey": "aqteron.capability.app_database@1",
          "moduleKind": "capability",
          "sourcePath": "capabilities/APP_DATABASE.md",
          "instructionModuleVersionId": "aqteron.capability.app_database@1@0.1.4",
          "versionLabel": "0.1.4",
          "contentSha256": "dab962f189c199bd9dd7db5ff04047d913db0c1d0a8a8af689fc4e02d354d2d0",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "App-scoped JSON record storage for shared or cross-device persistence.",
            "userNeeds": [
              "persist structured records beyond one browser or install",
              "share app-scoped records across linked users or devices",
              "store bounded server-side JSON records"
            ],
            "selectionSignals": [
              "localStorage or IndexedDB is insufficient",
              "records must survive reinstall or device changes",
              "multiple users or devices need the same app data"
            ],
            "exclusions": [
              "file, image, document, or attachment storage",
              "raw SQL or arbitrary backend database access",
              "secrets, credentials, passwords, tokens, or private keys"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": "app_database@1"
            },
            "availability": {
              "instructionStatus": "draft",
              "registryStatus": "available",
              "runtimeStatus": "runtime_available",
              "builderSelectable": true,
              "instructionVisible": true,
              "entitlementAuthority": "aqteron_validator_runtime",
              "notSelectableReason": null
            }
          },
          "capabilityAvailability": {
            "capabilityKey": "app_database@1",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime"
          },
          "selfCheckMetadata": {
            "schemaVersion": "aqteron.builder.module_self_check.v1",
            "instructionModuleId": "aqteron.capability.app_database@1",
            "moduleKind": "capability",
            "required": true,
            "appliesWhenSelected": true,
            "sourceHeading": "Module self-check",
            "checks": [
              {
                "id": "declared_when_helper_used",
                "text": "capability is declared when JavaScript uses `appDatabase`"
              },
              {
                "id": "used_collections_declared",
                "text": "every used collection is declared"
              },
              {
                "id": "schema_keys_match",
                "text": "schema and JS keys are identical lower_snake_case ASCII"
              },
              {
                "id": "no_undeclared_fields",
                "text": "no undeclared extra fields are written"
              },
              {
                "id": "new_record_uses_put",
                "text": "every new logical record uses `put` with declared `record.create`"
              },
              {
                "id": "existing_record_uses_set",
                "text": "every existing logical record update uses `set` with declared `record.update`"
              },
              {
                "id": "offline_replay_preserves_intent",
                "text": "offline/deferred replay preserves `put` versus `set` operation intent"
              },
              {
                "id": "bounded_list_limit",
                "text": "every `list` call has an explicit numeric limit from 1 to 100"
              },
              {
                "id": "db_list_limit_not_record_quota",
                "text": "a `list` retrieval limit is not treated as the collection `maxRecords` quota"
              },
              {
                "id": "no_raw_secrets",
                "text": "no raw secrets are persisted"
              },
              {
                "id": "no_private_database_routes",
                "text": "no direct/private database routes or raw SQL are used"
              },
              {
                "id": "user_readable_errors",
                "text": "capability failures produce user-readable UI errors"
              }
            ]
          }
        },
        {
          "instructionModuleId": "aqteron.capability.app_files@1",
          "moduleKey": "aqteron.capability.app_files@1",
          "moduleKind": "capability",
          "sourcePath": "capabilities/APP_FILES.md",
          "instructionModuleVersionId": "aqteron.capability.app_files@1@0.3.0",
          "versionLabel": "0.3.0",
          "contentSha256": "e808f6ed382586610ecc69ceca2b9775939efa0a0558498069dc1d28ae243f1b",
          "status": "activation_candidate",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Guarded private file storage for entitled applications when canonical readiness controls pass.",
            "userNeeds": [
              "store user files, attachments, images, documents, imports, or exports",
              "keep private application-scoped files in managed storage",
              "associate files with app workflows"
            ],
            "selectionSignals": [
              "managed private files are required and server-side entitlement is available",
              "files must persist outside local browser storage",
              "workflow references uploaded or generated files"
            ],
            "exclusions": [
              "workflows that can remain entirely in local browser storage",
              "public hosting or public URL generation",
              "shared-drive behavior across unrelated apps or users",
              "structured JSON record storage without files"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": "app_files@1"
            },
            "availability": {
              "instructionStatus": "activation_candidate",
              "registryStatus": "available",
              "runtimeStatus": "runtime_available",
              "builderSelectable": true,
              "instructionVisible": true,
              "entitlementAuthority": "aqteron_validator_runtime",
              "notSelectableReason": null
            }
          },
          "capabilityAvailability": {
            "capabilityKey": "app_files@1",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime"
          },
          "selfCheckMetadata": {
            "schemaVersion": "aqteron.builder.module_self_check.v1",
            "instructionModuleId": "aqteron.capability.app_files@1",
            "moduleKind": "capability",
            "required": true,
            "appliesWhenSelected": true,
            "sourceHeading": "Module self-check",
            "checks": [
              {
                "id": "declared_when_helper_used",
                "text": "capability is declared if `appFiles` is used"
              },
              {
                "id": "only_prompt2app_helper",
                "text": "only the exact `window.Prompt2App.appFiles` methods above are used"
              },
              {
                "id": "account_linking_checked",
                "text": "account connection is user-initiated after `app_files_auth_required`"
              },
              {
                "id": "used_buckets_declared_private",
                "text": "every used bucket is declared and private"
              },
              {
                "id": "file_quota_dimensions_coherent",
                "text": "MIME types are bounded and `maxFileSizeBytes`, `maxTotalBytes`, and `maxFiles` are validated as separate dimensions within their exact ceilings"
              },
              {
                "id": "mixed_db_files_fixture_coherent",
                "text": "mixed database/file workflows keep database `list` limits, database `maxRecords`, and file `maxFiles` distinct and dimensionally coherent"
              },
              {
                "id": "exact_file_transport",
                "text": "file inputs are browser `File` values and downloads use `contentBase64`"
              },
              {
                "id": "no_invented_storage_authority",
                "text": "no public/presigned/storage URLs, filesystem paths, internal metadata, or unsupported sharing are invented"
              },
              {
                "id": "server_entitlement_authority",
                "text": "server entitlement is never inferred from the package"
              },
              {
                "id": "visible_errors",
                "text": "errors are visible and do not falsely report successful storage"
              }
            ]
          }
        },
        {
          "instructionModuleId": "aqteron.capability.push_notifications@1",
          "moduleKey": "aqteron.capability.push_notifications@1",
          "moduleKind": "capability",
          "sourcePath": "capabilities/PUSH_NOTIFICATIONS.md",
          "instructionModuleVersionId": "aqteron.capability.push_notifications@1@0.1.4",
          "versionLabel": "0.1.4",
          "contentSha256": "0a5b01fb4034869ce181ee4312653e82c1a7b463590a56b4766e4f3c66c11886",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Platform-managed push notification subscription and declared trigger support.",
            "userNeeds": [
              "notify users while the installed or browser PWA is closed",
              "support declared message, reminder, or shared-data alerts",
              "let users subscribe, unsubscribe, and manage notification preferences"
            ],
            "selectionSignals": [
              "user explicitly needs push or closed-app alerts",
              "notification trigger fits the supported platform contract",
              "helper-only subscription controls are sufficient"
            ],
            "exclusions": [
              "custom service workers or direct push provider calls",
              "invented send endpoints or arbitrary server triggers",
              "storing browser subscription secrets in app state"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": null
            },
            "availability": {
              "instructionStatus": "draft",
              "registryStatus": "available",
              "runtimeStatus": "runtime_available",
              "builderSelectable": true,
              "instructionVisible": true,
              "entitlementAuthority": "aqteron_validator_runtime",
              "notSelectableReason": null
            }
          },
          "capabilityAvailability": {
            "capabilityKey": "push_notifications@1",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime"
          },
          "selfCheckMetadata": {
            "schemaVersion": "aqteron.builder.module_self_check.v1",
            "instructionModuleId": "aqteron.capability.push_notifications@1",
            "moduleKind": "capability",
            "required": true,
            "appliesWhenSelected": true,
            "sourceHeading": "Module self-check",
            "checks": [
              {
                "id": "declared_when_helper_used",
                "text": "`push_notifications@1` is declared when notifications helper is used"
              },
              {
                "id": "supported_methods_only",
                "text": "only supported helper methods are called and no `send()` exists"
              },
              {
                "id": "no_app_service_worker_or_provider",
                "text": "no application service worker or push-provider endpoint is included"
              },
              {
                "id": "separate_explicit_user_actions",
                "text": "account linking and permission are separate explicit user actions"
              },
              {
                "id": "declared_database_trigger_fields",
                "text": "triggers use declared `app_database.record.create` fields"
              },
              {
                "id": "push_create_trigger_uses_create_path",
                "text": "every `app_database.record.create` trigger record uses the `appDatabase.put` create path, including offline/deferred replay"
              },
              {
                "id": "bounded_trigger_fields",
                "text": "actor/target/click URL fields exist as bounded strings in the database schema"
              },
              {
                "id": "same_app_click_url",
                "text": "click URL is root-relative and same-app"
              },
              {
                "id": "bounded_non_private_content",
                "text": "notification title/body are bounded and do not expose private message contents"
              },
              {
                "id": "opaque_recipient_ids",
                "text": "opaque recipient IDs are not treated as secrets or modified"
              }
            ]
          }
        },
        {
          "instructionModuleId": "aqteron.capability.web_parser@1",
          "moduleKey": "aqteron.capability.web_parser@1",
          "moduleKind": "capability",
          "sourcePath": "capabilities/WEB_PARSER.md",
          "instructionModuleVersionId": "aqteron.capability.web_parser@1@0.1.3",
          "versionLabel": "0.1.3",
          "contentSha256": "003fb3b25484e51cf31debc345cc074acbbf2ae55056deb7580d44de62923281",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Prepared public readable-text parsing contract; not selectable for current production generation.",
            "userNeeds": [
              "read sanitized text from approved public HTTP(S) pages",
              "extract readable text from a specific public URL",
              "use public web text inside an Aqteron workflow"
            ],
            "selectionSignals": [
              "future registry marks this module Builder-selectable and runtime-available",
              "source pages are public, readable, and approved",
              "readable_text output is sufficient"
            ],
            "exclusions": [
              "current production generation",
              "login-only, private, internal, localhost, or metadata URLs",
              "broad crawling, screenshots, binary downloads, raw HTML execution, or browser automation"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": "web_parser@1"
            },
            "availability": {
              "instructionStatus": "draft",
              "registryStatus": "draft",
              "runtimeStatus": "prepared_unwired",
              "builderSelectable": false,
              "instructionVisible": true,
              "entitlementAuthority": "aqteron_validator_runtime",
              "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
            }
          },
          "capabilityAvailability": {
            "capabilityKey": "web_parser@1",
            "registryStatus": "draft",
            "runtimeStatus": "prepared_unwired",
            "builderSelectable": false,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
          },
          "selfCheckMetadata": {
            "schemaVersion": "aqteron.builder.module_self_check.v1",
            "instructionModuleId": "aqteron.capability.web_parser@1",
            "moduleKind": "capability",
            "required": true,
            "appliesWhenSelected": true,
            "sourceHeading": "Module self-check",
            "checks": [
              {
                "id": "workflow_needs_public_text",
                "text": "the user workflow genuinely needs public readable text"
              },
              {
                "id": "requested_domains_declared",
                "text": "every requested domain is explicitly declared"
              },
              {
                "id": "readable_text_only",
                "text": "only `readable_text` is requested"
              },
              {
                "id": "no_login_or_auth_forwarding",
                "text": "no login/session/cookie/Auth forwarding is attempted"
              },
              {
                "id": "no_private_targets",
                "text": "no private/internal/localhost/IP target is accepted"
              },
              {
                "id": "no_direct_scraping",
                "text": "no direct cross-origin scraping/headless crawling is implemented"
              },
              {
                "id": "declaration_request_agree",
                "text": "capability declaration and request URL agree"
              },
              {
                "id": "platform_errors_user_facing",
                "text": "platform errors are shown in user-facing form"
              }
            ]
          }
        },
        {
          "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
          "moduleKey": "aqteron.capability.webrtc_signaling@1",
          "moduleKind": "capability",
          "sourcePath": "capabilities/WEBRTC_SIGNALING.md",
          "instructionModuleVersionId": "aqteron.capability.webrtc_signaling@1@0.1.3",
          "versionLabel": "0.1.3",
          "contentSha256": "a124248eb1a5f4d79e9b8a2d3f954eff19da79255b5aea33dd7b2a52afdc8a45",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Prepared WebRTC signaling contract; not selectable for current production generation.",
            "userNeeds": [
              "coordinate browser peer-to-peer audio, video, or data channel setup",
              "exchange short-lived WebRTC signaling messages",
              "support future real-time peer connection workflows"
            ],
            "selectionSignals": [
              "future registry marks this module Builder-selectable and runtime-available",
              "application needs WebRTC signaling rather than media relay",
              "short-lived helper-mediated signaling is sufficient"
            ],
            "exclusions": [
              "current production generation",
              "media relay, recording, TURN/STUN credential management, or persistent chat storage",
              "storing SDP or ICE payloads in app_database@1"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": null
            },
            "availability": {
              "instructionStatus": "draft",
              "registryStatus": "draft",
              "runtimeStatus": "prepared_unwired",
              "builderSelectable": false,
              "instructionVisible": true,
              "entitlementAuthority": "aqteron_validator_runtime",
              "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
            }
          },
          "capabilityAvailability": {
            "capabilityKey": "webrtc_signaling@1",
            "registryStatus": "draft",
            "runtimeStatus": "prepared_unwired",
            "builderSelectable": false,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
          },
          "selfCheckMetadata": {
            "schemaVersion": "aqteron.builder.module_self_check.v1",
            "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
            "moduleKind": "capability",
            "required": true,
            "appliesWhenSelected": true,
            "sourceHeading": "Module self-check",
            "checks": [
              {
                "id": "declared_when_helper_used",
                "text": "the capability is declared if signaling helper is used"
              },
              {
                "id": "signaling_not_database_persisted",
                "text": "signaling data is not persisted in `app_database@1`"
              },
              {
                "id": "no_custom_signaling_route",
                "text": "no private/custom signaling server route is invented"
              },
              {
                "id": "bounded_payload_and_ttl",
                "text": "payload size and TTL are bounded"
              },
              {
                "id": "p2p_media_boundary",
                "text": "audio/video is peer-to-peer and not falsely described as Aqteron media relay"
              },
              {
                "id": "no_unsupported_turn_promise",
                "text": "TURN availability is not promised unless a supported TURN capability exists"
              },
              {
                "id": "visible_failure_states",
                "text": "call failure and unsupported-environment states are shown to the user"
              }
            ]
          }
        },
        {
          "instructionModuleId": "aqteron.final-check.pwa-v1",
          "moduleKey": "aqteron.final-check.pwa-v1",
          "moduleKind": "final_check",
          "sourcePath": "FINAL_CHECK.md",
          "instructionModuleVersionId": "aqteron.final-check.pwa-v1@0.2.2",
          "versionLabel": "0.2.2",
          "contentSha256": "0d6797c3c4324694a36e8e9f61e8f4c7351ed97a4ea683e1455df23d58598d77",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": null,
          "capabilityAvailability": null,
          "selfCheckMetadata": null
        },
        {
          "instructionModuleId": "aqteron.final-response.user-facing-v1",
          "moduleKey": "aqteron.final-response.user-facing-v1",
          "moduleKind": "final_response",
          "sourcePath": "FINAL_RESPONSE.md",
          "instructionModuleVersionId": "aqteron.final-response.user-facing-v1@0.1.1",
          "versionLabel": "0.1.1",
          "contentSha256": "9784bf20ba0c313a559375b12d7fe83c921ae7ef8122cbf448b008a79a93d31a",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": null,
          "capabilityAvailability": null,
          "selfCheckMetadata": null
        },
        {
          "instructionModuleId": "aqteron.package.pwa-v1",
          "moduleKey": "aqteron.package.pwa-v1",
          "moduleKind": "package",
          "sourcePath": "PACKAGE.md",
          "instructionModuleVersionId": "aqteron.package.pwa-v1@0.1.3",
          "versionLabel": "0.1.3",
          "contentSha256": "8fdd25c656a7dd2a171660eb7bbb419bebf0835b72b00c10158f06660abe16f1",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": null,
          "capabilityAvailability": null,
          "selfCheckMetadata": null
        },
        {
          "instructionModuleId": "aqteron.type.app",
          "moduleKey": "aqteron.type.app",
          "moduleKind": "type",
          "sourcePath": "types/APP.md",
          "instructionModuleVersionId": "aqteron.type.app@0.1.1",
          "versionLabel": "0.1.1",
          "contentSha256": "a4d220de4a687403f00c74f3a2658885f035c400b3bbb5bd869c9b074b75ca03",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Focused record or workflow application for repeated personal or business tasks.",
            "userNeeds": [
              "track records or ongoing state",
              "organize repeated workflows",
              "manage personal or business data"
            ],
            "selectionSignals": [
              "records need create/view/edit/delete behavior",
              "workflow spans multiple steps or screens",
              "saved state is central to the user value"
            ],
            "exclusions": [
              "one-off calculator, converter, validator, or generator",
              "primarily informational or promotional website",
              "playable game-first request"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": null
            },
            "availability": {
              "instructionStatus": "draft",
              "registryStatus": null,
              "runtimeStatus": null,
              "builderSelectable": true,
              "instructionVisible": true,
              "entitlementAuthority": null,
              "notSelectableReason": null
            }
          },
          "capabilityAvailability": null,
          "selfCheckMetadata": null
        },
        {
          "instructionModuleId": "aqteron.type.game",
          "moduleKey": "aqteron.type.game",
          "moduleKind": "type",
          "sourcePath": "types/GAME.md",
          "instructionModuleVersionId": "aqteron.type.game@0.1.1",
          "versionLabel": "0.1.1",
          "contentSha256": "fad98ade2dfb39851e044dc3c461982c3991481aa99304a24e84309d036fff8f",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Playable browser game with a complete objective, loop, controls, and feedback.",
            "userNeeds": [
              "play a browser game",
              "support scoring, levels, turns, challenge, or replay",
              "create an interactive entertainment experience"
            ],
            "selectionSignals": [
              "primary value is gameplay",
              "rules, controls, win/loss, score, or progression are required",
              "first screen should start or explain play"
            ],
            "exclusions": [
              "business or personal record workflow",
              "one-off productivity utility",
              "informational or promotional website"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": null
            },
            "availability": {
              "instructionStatus": "draft",
              "registryStatus": null,
              "runtimeStatus": null,
              "builderSelectable": true,
              "instructionVisible": true,
              "entitlementAuthority": null,
              "notSelectableReason": null
            }
          },
          "capabilityAvailability": null,
          "selfCheckMetadata": null
        },
        {
          "instructionModuleId": "aqteron.type.tool",
          "moduleKey": "aqteron.type.tool",
          "moduleKind": "type",
          "sourcePath": "types/TOOL.md",
          "instructionModuleVersionId": "aqteron.type.tool@0.1.1",
          "versionLabel": "0.1.1",
          "contentSha256": "542e780b53c5b6cbcff55fa71d3b8661d0089364b5e1a2359a6640b62da3f008",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Direct task-first utility for a narrow input-action-result workflow.",
            "userNeeds": [
              "calculate, convert, generate, analyze, validate, format, or plan",
              "complete a narrow task with clear inputs and outputs",
              "reuse a compact work instrument"
            ],
            "selectionSignals": [
              "single primary action produces the result",
              "inputs, assumptions, validation, and output are the main workflow",
              "dashboard, account, or record lifecycle is not central"
            ],
            "exclusions": [
              "broad multi-record application",
              "marketing or content website",
              "playable game"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": null
            },
            "availability": {
              "instructionStatus": "draft",
              "registryStatus": null,
              "runtimeStatus": null,
              "builderSelectable": true,
              "instructionVisible": true,
              "entitlementAuthority": null,
              "notSelectableReason": null
            }
          },
          "capabilityAvailability": null,
          "selfCheckMetadata": null
        },
        {
          "instructionModuleId": "aqteron.type.website",
          "moduleKey": "aqteron.type.website",
          "moduleKind": "type",
          "sourcePath": "types/WEBSITE.md",
          "instructionModuleVersionId": "aqteron.type.website@0.1.1",
          "versionLabel": "0.1.1",
          "contentSha256": "278a6fed8766375fe579f692438e7d0c88d44b192f09caff734a5fcd3e580c5c",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Publishable informational, promotional, portfolio, catalogue, or company website.",
            "userNeeds": [
              "present information, brand, offer, work, catalogue, or content",
              "guide visitors to contact, buy, book, learn, or explore",
              "publish a multi-section or multi-page site"
            ],
            "selectionSignals": [
              "visitor communication is the main goal",
              "sections such as overview, proof, services, pricing, FAQ, or contact are useful",
              "content hierarchy and calls to action matter more than record management"
            ],
            "exclusions": [
              "repeated record-based application",
              "single-purpose calculator or generator",
              "playable game"
            ],
            "dependencies": [],
            "compatibility": {
              "contracts": [
                "Aqteron PWA v1"
              ],
              "requires": [],
              "conflicts": []
            },
            "runtime": {
              "adapterId": null
            },
            "availability": {
              "instructionStatus": "draft",
              "registryStatus": null,
              "runtimeStatus": null,
              "builderSelectable": true,
              "instructionVisible": true,
              "entitlementAuthority": null,
              "notSelectableReason": null
            }
          },
          "capabilityAvailability": null,
          "selfCheckMetadata": null
        }
      ],
      "capabilityRegistry": [
        {
          "capabilityKey": "ai_bridge@1",
          "instructionModuleId": null,
          "instructionModuleVersionId": null,
          "registryStatus": "disabled",
          "displayName": "AI Bridge",
          "summary": "Disabled scaffold capability; unavailable in current production.",
          "metadata": {
            "runtimeStatus": "disabled_scaffold",
            "builderSelectable": false,
            "instructionVisible": false,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "AI Bridge",
                  "summary": "Disabled scaffold capability; unavailable in current production."
                },
                "fr": {
                  "name": "Passerelle IA",
                  "summary": "Capacité préparatoire désactivée, indisponible dans la production actuelle."
                },
                "ru": {
                  "name": "Шлюз ИИ",
                  "summary": "Отключённая заготовка возможности; недоступна в текущей production-среде."
                }
              }
            },
            "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        },
        {
          "capabilityKey": "app_database@1",
          "instructionModuleId": "aqteron.capability.app_database@1",
          "instructionModuleVersionId": "aqteron.capability.app_database@1@0.1.4",
          "registryStatus": "available",
          "displayName": "App Database",
          "summary": "App-scoped JSON record storage for shared or cross-device persistence.",
          "metadata": {
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "App Database",
                  "summary": "App-scoped JSON record storage for shared or cross-device persistence."
                },
                "fr": {
                  "name": "Base de données de l'application",
                  "summary": "Stockage de documents JSON propre à l'application pour une persistance partagée ou multi-appareil."
                },
                "ru": {
                  "name": "База данных приложения",
                  "summary": "Хранилище JSON-записей приложения для общего доступа и синхронизации между устройствами."
                }
              }
            },
            "sourcePath": "capabilities/APP_DATABASE.md",
            "selectionMetadata": {
              "schemaVersion": "aqteron.builder.selection_metadata.v1",
              "summary": "App-scoped JSON record storage for shared or cross-device persistence.",
              "userNeeds": [
                "persist structured records beyond one browser or install",
                "share app-scoped records across linked users or devices",
                "store bounded server-side JSON records"
              ],
              "selectionSignals": [
                "localStorage or IndexedDB is insufficient",
                "records must survive reinstall or device changes",
                "multiple users or devices need the same app data"
              ],
              "exclusions": [
                "file, image, document, or attachment storage",
                "raw SQL or arbitrary backend database access",
                "secrets, credentials, passwords, tokens, or private keys"
              ],
              "dependencies": [],
              "compatibility": {
                "contracts": [
                  "Aqteron PWA v1"
                ],
                "requires": [],
                "conflicts": []
              },
              "runtime": {
                "adapterId": "app_database@1"
              },
              "availability": {
                "instructionStatus": "draft",
                "registryStatus": "available",
                "runtimeStatus": "runtime_available",
                "builderSelectable": true,
                "instructionVisible": true,
                "entitlementAuthority": "aqteron_validator_runtime",
                "notSelectableReason": null
              }
            },
            "selfCheckMetadata": {
              "schemaVersion": "aqteron.builder.module_self_check.v1",
              "instructionModuleId": "aqteron.capability.app_database@1",
              "moduleKind": "capability",
              "required": true,
              "appliesWhenSelected": true,
              "sourceHeading": "Module self-check",
              "checks": [
                {
                  "id": "declared_when_helper_used",
                  "text": "capability is declared when JavaScript uses `appDatabase`"
                },
                {
                  "id": "used_collections_declared",
                  "text": "every used collection is declared"
                },
                {
                  "id": "schema_keys_match",
                  "text": "schema and JS keys are identical lower_snake_case ASCII"
                },
                {
                  "id": "no_undeclared_fields",
                  "text": "no undeclared extra fields are written"
                },
                {
                  "id": "new_record_uses_put",
                  "text": "every new logical record uses `put` with declared `record.create`"
                },
                {
                  "id": "existing_record_uses_set",
                  "text": "every existing logical record update uses `set` with declared `record.update`"
                },
                {
                  "id": "offline_replay_preserves_intent",
                  "text": "offline/deferred replay preserves `put` versus `set` operation intent"
                },
                {
                  "id": "bounded_list_limit",
                  "text": "every `list` call has an explicit numeric limit from 1 to 100"
                },
                {
                  "id": "db_list_limit_not_record_quota",
                  "text": "a `list` retrieval limit is not treated as the collection `maxRecords` quota"
                },
                {
                  "id": "no_raw_secrets",
                  "text": "no raw secrets are persisted"
                },
                {
                  "id": "no_private_database_routes",
                  "text": "no direct/private database routes or raw SQL are used"
                },
                {
                  "id": "user_readable_errors",
                  "text": "capability failures produce user-readable UI errors"
                }
              ]
            }
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        },
        {
          "capabilityKey": "app_files@1",
          "instructionModuleId": "aqteron.capability.app_files@1",
          "instructionModuleVersionId": "aqteron.capability.app_files@1@0.3.0",
          "registryStatus": "available",
          "displayName": "App Files",
          "summary": "Guarded private file storage for entitled applications when canonical readiness controls pass.",
          "metadata": {
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "App Files",
                  "summary": "Guarded private file storage for entitled applications when canonical readiness controls pass."
                },
                "fr": {
                  "name": "Fichiers de l'application",
                  "summary": "Stockage de fichiers privés protégé pour les applications autorisées lorsque les contrôles de disponibilité canoniques réussissent."
                },
                "ru": {
                  "name": "Файлы приложения",
                  "summary": "Защищённое приватное хранилище файлов для приложений с правом доступа при успешной канонической проверке готовности."
                }
              }
            },
            "sourcePath": "capabilities/APP_FILES.md",
            "selectionMetadata": {
              "schemaVersion": "aqteron.builder.selection_metadata.v1",
              "summary": "Guarded private file storage for entitled applications when canonical readiness controls pass.",
              "userNeeds": [
                "store user files, attachments, images, documents, imports, or exports",
                "keep private application-scoped files in managed storage",
                "associate files with app workflows"
              ],
              "selectionSignals": [
                "managed private files are required and server-side entitlement is available",
                "files must persist outside local browser storage",
                "workflow references uploaded or generated files"
              ],
              "exclusions": [
                "workflows that can remain entirely in local browser storage",
                "public hosting or public URL generation",
                "shared-drive behavior across unrelated apps or users",
                "structured JSON record storage without files"
              ],
              "dependencies": [],
              "compatibility": {
                "contracts": [
                  "Aqteron PWA v1"
                ],
                "requires": [],
                "conflicts": []
              },
              "runtime": {
                "adapterId": "app_files@1"
              },
              "availability": {
                "instructionStatus": "activation_candidate",
                "registryStatus": "available",
                "runtimeStatus": "runtime_available",
                "builderSelectable": true,
                "instructionVisible": true,
                "entitlementAuthority": "aqteron_validator_runtime",
                "notSelectableReason": null
              }
            },
            "selfCheckMetadata": {
              "schemaVersion": "aqteron.builder.module_self_check.v1",
              "instructionModuleId": "aqteron.capability.app_files@1",
              "moduleKind": "capability",
              "required": true,
              "appliesWhenSelected": true,
              "sourceHeading": "Module self-check",
              "checks": [
                {
                  "id": "declared_when_helper_used",
                  "text": "capability is declared if `appFiles` is used"
                },
                {
                  "id": "only_prompt2app_helper",
                  "text": "only the exact `window.Prompt2App.appFiles` methods above are used"
                },
                {
                  "id": "account_linking_checked",
                  "text": "account connection is user-initiated after `app_files_auth_required`"
                },
                {
                  "id": "used_buckets_declared_private",
                  "text": "every used bucket is declared and private"
                },
                {
                  "id": "file_quota_dimensions_coherent",
                  "text": "MIME types are bounded and `maxFileSizeBytes`, `maxTotalBytes`, and `maxFiles` are validated as separate dimensions within their exact ceilings"
                },
                {
                  "id": "mixed_db_files_fixture_coherent",
                  "text": "mixed database/file workflows keep database `list` limits, database `maxRecords`, and file `maxFiles` distinct and dimensionally coherent"
                },
                {
                  "id": "exact_file_transport",
                  "text": "file inputs are browser `File` values and downloads use `contentBase64`"
                },
                {
                  "id": "no_invented_storage_authority",
                  "text": "no public/presigned/storage URLs, filesystem paths, internal metadata, or unsupported sharing are invented"
                },
                {
                  "id": "server_entitlement_authority",
                  "text": "server entitlement is never inferred from the package"
                },
                {
                  "id": "visible_errors",
                  "text": "errors are visible and do not falsely report successful storage"
                }
              ]
            }
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        },
        {
          "capabilityKey": "app_secrets@1",
          "instructionModuleId": null,
          "instructionModuleVersionId": null,
          "registryStatus": "disabled",
          "displayName": "App Secrets",
          "summary": "Disabled scaffold capability; unavailable in current production.",
          "metadata": {
            "runtimeStatus": "disabled_scaffold",
            "builderSelectable": false,
            "instructionVisible": false,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "App Secrets",
                  "summary": "Disabled scaffold capability; unavailable in current production."
                },
                "fr": {
                  "name": "Secrets de l'application",
                  "summary": "Capacité préparatoire désactivée, indisponible dans la production actuelle."
                },
                "ru": {
                  "name": "Секреты приложения",
                  "summary": "Отключённая заготовка возможности; недоступна в текущей production-среде."
                }
              }
            },
            "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        },
        {
          "capabilityKey": "app_users@1",
          "instructionModuleId": null,
          "instructionModuleVersionId": null,
          "registryStatus": "disabled",
          "displayName": "App Users",
          "summary": "Disabled scaffold capability; unavailable in current production.",
          "metadata": {
            "runtimeStatus": "disabled_scaffold",
            "builderSelectable": false,
            "instructionVisible": false,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "App Users",
                  "summary": "Disabled scaffold capability; unavailable in current production."
                },
                "fr": {
                  "name": "Utilisateurs de l'application",
                  "summary": "Capacité préparatoire désactivée, indisponible dans la production actuelle."
                },
                "ru": {
                  "name": "Пользователи приложения",
                  "summary": "Отключённая заготовка возможности; недоступна в текущей production-среде."
                }
              }
            },
            "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        },
        {
          "capabilityKey": "external_api_proxy@1",
          "instructionModuleId": null,
          "instructionModuleVersionId": null,
          "registryStatus": "disabled",
          "displayName": "External API Proxy",
          "summary": "Disabled scaffold capability; unavailable in current production.",
          "metadata": {
            "runtimeStatus": "disabled_scaffold",
            "builderSelectable": false,
            "instructionVisible": false,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "External API Proxy",
                  "summary": "Disabled scaffold capability; unavailable in current production."
                },
                "fr": {
                  "name": "Proxy d'API externe",
                  "summary": "Capacité préparatoire désactivée, indisponible dans la production actuelle."
                },
                "ru": {
                  "name": "Прокси внешнего API",
                  "summary": "Отключённая заготовка возможности; недоступна в текущей production-среде."
                }
              }
            },
            "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        },
        {
          "capabilityKey": "push_notifications@1",
          "instructionModuleId": "aqteron.capability.push_notifications@1",
          "instructionModuleVersionId": "aqteron.capability.push_notifications@1@0.1.4",
          "registryStatus": "available",
          "displayName": "Push Notifications",
          "summary": "Platform-managed push notification subscription and declared trigger support.",
          "metadata": {
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "Push Notifications",
                  "summary": "Platform-managed push notification subscription and declared trigger support."
                },
                "fr": {
                  "name": "Notifications push",
                  "summary": "Abonnements aux notifications push gérés par la plateforme et prise en charge des déclencheurs déclarés."
                },
                "ru": {
                  "name": "Push-уведомления",
                  "summary": "Управляемые платформой подписки на push-уведомления и поддержка объявленных триггеров."
                }
              }
            },
            "sourcePath": "capabilities/PUSH_NOTIFICATIONS.md",
            "selectionMetadata": {
              "schemaVersion": "aqteron.builder.selection_metadata.v1",
              "summary": "Platform-managed push notification subscription and declared trigger support.",
              "userNeeds": [
                "notify users while the installed or browser PWA is closed",
                "support declared message, reminder, or shared-data alerts",
                "let users subscribe, unsubscribe, and manage notification preferences"
              ],
              "selectionSignals": [
                "user explicitly needs push or closed-app alerts",
                "notification trigger fits the supported platform contract",
                "helper-only subscription controls are sufficient"
              ],
              "exclusions": [
                "custom service workers or direct push provider calls",
                "invented send endpoints or arbitrary server triggers",
                "storing browser subscription secrets in app state"
              ],
              "dependencies": [],
              "compatibility": {
                "contracts": [
                  "Aqteron PWA v1"
                ],
                "requires": [],
                "conflicts": []
              },
              "runtime": {
                "adapterId": null
              },
              "availability": {
                "instructionStatus": "draft",
                "registryStatus": "available",
                "runtimeStatus": "runtime_available",
                "builderSelectable": true,
                "instructionVisible": true,
                "entitlementAuthority": "aqteron_validator_runtime",
                "notSelectableReason": null
              }
            },
            "selfCheckMetadata": {
              "schemaVersion": "aqteron.builder.module_self_check.v1",
              "instructionModuleId": "aqteron.capability.push_notifications@1",
              "moduleKind": "capability",
              "required": true,
              "appliesWhenSelected": true,
              "sourceHeading": "Module self-check",
              "checks": [
                {
                  "id": "declared_when_helper_used",
                  "text": "`push_notifications@1` is declared when notifications helper is used"
                },
                {
                  "id": "supported_methods_only",
                  "text": "only supported helper methods are called and no `send()` exists"
                },
                {
                  "id": "no_app_service_worker_or_provider",
                  "text": "no application service worker or push-provider endpoint is included"
                },
                {
                  "id": "separate_explicit_user_actions",
                  "text": "account linking and permission are separate explicit user actions"
                },
                {
                  "id": "declared_database_trigger_fields",
                  "text": "triggers use declared `app_database.record.create` fields"
                },
                {
                  "id": "push_create_trigger_uses_create_path",
                  "text": "every `app_database.record.create` trigger record uses the `appDatabase.put` create path, including offline/deferred replay"
                },
                {
                  "id": "bounded_trigger_fields",
                  "text": "actor/target/click URL fields exist as bounded strings in the database schema"
                },
                {
                  "id": "same_app_click_url",
                  "text": "click URL is root-relative and same-app"
                },
                {
                  "id": "bounded_non_private_content",
                  "text": "notification title/body are bounded and do not expose private message contents"
                },
                {
                  "id": "opaque_recipient_ids",
                  "text": "opaque recipient IDs are not treated as secrets or modified"
                }
              ]
            }
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        },
        {
          "capabilityKey": "web_parser@1",
          "instructionModuleId": "aqteron.capability.web_parser@1",
          "instructionModuleVersionId": "aqteron.capability.web_parser@1@0.1.3",
          "registryStatus": "draft",
          "displayName": "Web Parser",
          "summary": "Prepared public readable-text parsing contract; not selectable for current production generation.",
          "metadata": {
            "runtimeStatus": "prepared_unwired",
            "builderSelectable": false,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "Web Parser",
                  "summary": "Prepared public readable-text parsing contract; not selectable for current production generation."
                },
                "fr": {
                  "name": "Analyseur web",
                  "summary": "Contrat préparé d'extraction de texte lisible public, non sélectionnable pour la génération de production actuelle."
                },
                "ru": {
                  "name": "Веб-парсер",
                  "summary": "Подготовленный контракт извлечения общедоступного читаемого текста; недоступен для текущей production-генерации."
                }
              }
            },
            "sourcePath": "capabilities/WEB_PARSER.md",
            "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability.",
            "selectionMetadata": {
              "schemaVersion": "aqteron.builder.selection_metadata.v1",
              "summary": "Prepared public readable-text parsing contract; not selectable for current production generation.",
              "userNeeds": [
                "read sanitized text from approved public HTTP(S) pages",
                "extract readable text from a specific public URL",
                "use public web text inside an Aqteron workflow"
              ],
              "selectionSignals": [
                "future registry marks this module Builder-selectable and runtime-available",
                "source pages are public, readable, and approved",
                "readable_text output is sufficient"
              ],
              "exclusions": [
                "current production generation",
                "login-only, private, internal, localhost, or metadata URLs",
                "broad crawling, screenshots, binary downloads, raw HTML execution, or browser automation"
              ],
              "dependencies": [],
              "compatibility": {
                "contracts": [
                  "Aqteron PWA v1"
                ],
                "requires": [],
                "conflicts": []
              },
              "runtime": {
                "adapterId": "web_parser@1"
              },
              "availability": {
                "instructionStatus": "draft",
                "registryStatus": "draft",
                "runtimeStatus": "prepared_unwired",
                "builderSelectable": false,
                "instructionVisible": true,
                "entitlementAuthority": "aqteron_validator_runtime",
                "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
              }
            },
            "selfCheckMetadata": {
              "schemaVersion": "aqteron.builder.module_self_check.v1",
              "instructionModuleId": "aqteron.capability.web_parser@1",
              "moduleKind": "capability",
              "required": true,
              "appliesWhenSelected": true,
              "sourceHeading": "Module self-check",
              "checks": [
                {
                  "id": "workflow_needs_public_text",
                  "text": "the user workflow genuinely needs public readable text"
                },
                {
                  "id": "requested_domains_declared",
                  "text": "every requested domain is explicitly declared"
                },
                {
                  "id": "readable_text_only",
                  "text": "only `readable_text` is requested"
                },
                {
                  "id": "no_login_or_auth_forwarding",
                  "text": "no login/session/cookie/Auth forwarding is attempted"
                },
                {
                  "id": "no_private_targets",
                  "text": "no private/internal/localhost/IP target is accepted"
                },
                {
                  "id": "no_direct_scraping",
                  "text": "no direct cross-origin scraping/headless crawling is implemented"
                },
                {
                  "id": "declaration_request_agree",
                  "text": "capability declaration and request URL agree"
                },
                {
                  "id": "platform_errors_user_facing",
                  "text": "platform errors are shown in user-facing form"
                }
              ]
            }
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        },
        {
          "capabilityKey": "webrtc_signaling@1",
          "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
          "instructionModuleVersionId": "aqteron.capability.webrtc_signaling@1@0.1.3",
          "registryStatus": "draft",
          "displayName": "WebRTC Signaling",
          "summary": "Prepared WebRTC signaling contract; not selectable for current production generation.",
          "metadata": {
            "runtimeStatus": "prepared_unwired",
            "builderSelectable": false,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "presentation": {
              "locales": {
                "en": {
                  "name": "WebRTC Signaling",
                  "summary": "Prepared WebRTC signaling contract; not selectable for current production generation."
                },
                "fr": {
                  "name": "Signalisation WebRTC",
                  "summary": "Contrat préparé de signalisation WebRTC, non sélectionnable pour la génération de production actuelle."
                },
                "ru": {
                  "name": "Сигналинг WebRTC",
                  "summary": "Подготовленный контракт сигналинга WebRTC; недоступен для текущей production-генерации."
                }
              }
            },
            "sourcePath": "capabilities/WEBRTC_SIGNALING.md",
            "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability.",
            "selectionMetadata": {
              "schemaVersion": "aqteron.builder.selection_metadata.v1",
              "summary": "Prepared WebRTC signaling contract; not selectable for current production generation.",
              "userNeeds": [
                "coordinate browser peer-to-peer audio, video, or data channel setup",
                "exchange short-lived WebRTC signaling messages",
                "support future real-time peer connection workflows"
              ],
              "selectionSignals": [
                "future registry marks this module Builder-selectable and runtime-available",
                "application needs WebRTC signaling rather than media relay",
                "short-lived helper-mediated signaling is sufficient"
              ],
              "exclusions": [
                "current production generation",
                "media relay, recording, TURN/STUN credential management, or persistent chat storage",
                "storing SDP or ICE payloads in app_database@1"
              ],
              "dependencies": [],
              "compatibility": {
                "contracts": [
                  "Aqteron PWA v1"
                ],
                "requires": [],
                "conflicts": []
              },
              "runtime": {
                "adapterId": null
              },
              "availability": {
                "instructionStatus": "draft",
                "registryStatus": "draft",
                "runtimeStatus": "prepared_unwired",
                "builderSelectable": false,
                "instructionVisible": true,
                "entitlementAuthority": "aqteron_validator_runtime",
                "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
              }
            },
            "selfCheckMetadata": {
              "schemaVersion": "aqteron.builder.module_self_check.v1",
              "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
              "moduleKind": "capability",
              "required": true,
              "appliesWhenSelected": true,
              "sourceHeading": "Module self-check",
              "checks": [
                {
                  "id": "declared_when_helper_used",
                  "text": "the capability is declared if signaling helper is used"
                },
                {
                  "id": "signaling_not_database_persisted",
                  "text": "signaling data is not persisted in `app_database@1`"
                },
                {
                  "id": "no_custom_signaling_route",
                  "text": "no private/custom signaling server route is invented"
                },
                {
                  "id": "bounded_payload_and_ttl",
                  "text": "payload size and TTL are bounded"
                },
                {
                  "id": "p2p_media_boundary",
                  "text": "audio/video is peer-to-peer and not falsely described as Aqteron media relay"
                },
                {
                  "id": "no_unsupported_turn_promise",
                  "text": "TURN availability is not promised unless a supported TURN capability exists"
                },
                {
                  "id": "visible_failure_states",
                  "text": "call failure and unsupported-environment states are shown to the user"
                }
              ]
            }
          },
          "createdAt": "2026-09-15T11:38:02.657Z",
          "updatedAt": "2026-09-15T11:38:02.657Z"
        }
      ]
    },
    "createdAt": "2026-09-15T11:38:02.657Z",
    "createdBy": "gen-context-ux-001"
  },
  "modulePins": [
    {
      "instructionModuleId": "aqteron.builder.core",
      "instructionModuleVersionId": "aqteron.builder.core@0.2.6",
      "moduleKey": "aqteron.builder.core",
      "moduleKind": "core",
      "displayName": "Aqteron Builder Core",
      "description": "",
      "sourcePath": "BUILDER_CORE.md",
      "versionLabel": "0.2.6",
      "contentSha256": "c15131e44427fb0f47a422e4fa46e7c1da75ddec0848b8a5d7a8c1eb0d62f8aa",
      "moduleMetadata": {
        "sourcePath": "BUILDER_CORE.md",
        "instructionId": "aqteron.builder.core"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "BUILDER_CORE.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.11"
        },
        "dependencies": []
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.capability.app_database@1",
      "instructionModuleVersionId": "aqteron.capability.app_database@1@0.1.4",
      "moduleKey": "aqteron.capability.app_database@1",
      "moduleKind": "capability",
      "displayName": "Aqteron Capability: app_database@1",
      "description": "",
      "sourcePath": "capabilities/APP_DATABASE.md",
      "versionLabel": "0.1.4",
      "contentSha256": "dab962f189c199bd9dd7db5ff04047d913db0c1d0a8a8af689fc4e02d354d2d0",
      "moduleMetadata": {
        "sourcePath": "capabilities/APP_DATABASE.md",
        "instructionId": "aqteron.capability.app_database@1"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "capabilities/APP_DATABASE.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.12"
        },
        "dependencies": [],
        "capabilityAvailability": {
          "capabilityKey": "app_database@1",
          "registryStatus": "available",
          "runtimeStatus": "runtime_available",
          "builderSelectable": true,
          "instructionVisible": true,
          "entitlementAuthority": "aqteron_validator_runtime"
        },
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "App-scoped JSON record storage for shared or cross-device persistence.",
          "userNeeds": [
            "persist structured records beyond one browser or install",
            "share app-scoped records across linked users or devices",
            "store bounded server-side JSON records"
          ],
          "selectionSignals": [
            "localStorage or IndexedDB is insufficient",
            "records must survive reinstall or device changes",
            "multiple users or devices need the same app data"
          ],
          "exclusions": [
            "file, image, document, or attachment storage",
            "raw SQL or arbitrary backend database access",
            "secrets, credentials, passwords, tokens, or private keys"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": "app_database@1"
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": null
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.app_database@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "declared_when_helper_used",
              "text": "capability is declared when JavaScript uses `appDatabase`"
            },
            {
              "id": "used_collections_declared",
              "text": "every used collection is declared"
            },
            {
              "id": "schema_keys_match",
              "text": "schema and JS keys are identical lower_snake_case ASCII"
            },
            {
              "id": "no_undeclared_fields",
              "text": "no undeclared extra fields are written"
            },
            {
              "id": "new_record_uses_put",
              "text": "every new logical record uses `put` with declared `record.create`"
            },
            {
              "id": "existing_record_uses_set",
              "text": "every existing logical record update uses `set` with declared `record.update`"
            },
            {
              "id": "offline_replay_preserves_intent",
              "text": "offline/deferred replay preserves `put` versus `set` operation intent"
            },
            {
              "id": "bounded_list_limit",
              "text": "every `list` call has an explicit numeric limit from 1 to 100"
            },
            {
              "id": "db_list_limit_not_record_quota",
              "text": "a `list` retrieval limit is not treated as the collection `maxRecords` quota"
            },
            {
              "id": "no_raw_secrets",
              "text": "no raw secrets are persisted"
            },
            {
              "id": "no_private_database_routes",
              "text": "no direct/private database routes or raw SQL are used"
            },
            {
              "id": "user_readable_errors",
              "text": "capability failures produce user-readable UI errors"
            }
          ]
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.capability.app_files@1",
      "instructionModuleVersionId": "aqteron.capability.app_files@1@0.3.0",
      "moduleKey": "aqteron.capability.app_files@1",
      "moduleKind": "capability",
      "displayName": "Aqteron Capability: app_files@1",
      "description": "",
      "sourcePath": "capabilities/APP_FILES.md",
      "versionLabel": "0.3.0",
      "contentSha256": "e808f6ed382586610ecc69ceca2b9775939efa0a0558498069dc1d28ae243f1b",
      "moduleMetadata": {
        "sourcePath": "capabilities/APP_FILES.md",
        "instructionId": "aqteron.capability.app_files@1"
      },
      "versionMetadata": {
        "status": "activation_candidate",
        "contract": "Aqteron PWA v1",
        "sourcePath": "capabilities/APP_FILES.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.12"
        },
        "dependencies": [],
        "capabilityAvailability": {
          "capabilityKey": "app_files@1",
          "registryStatus": "available",
          "runtimeStatus": "runtime_available",
          "builderSelectable": true,
          "instructionVisible": true,
          "entitlementAuthority": "aqteron_validator_runtime"
        },
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Guarded private file storage for entitled applications when canonical readiness controls pass.",
          "userNeeds": [
            "store user files, attachments, images, documents, imports, or exports",
            "keep private application-scoped files in managed storage",
            "associate files with app workflows"
          ],
          "selectionSignals": [
            "managed private files are required and server-side entitlement is available",
            "files must persist outside local browser storage",
            "workflow references uploaded or generated files"
          ],
          "exclusions": [
            "workflows that can remain entirely in local browser storage",
            "public hosting or public URL generation",
            "shared-drive behavior across unrelated apps or users",
            "structured JSON record storage without files"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": "app_files@1"
          },
          "availability": {
            "instructionStatus": "activation_candidate",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": null
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.app_files@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "declared_when_helper_used",
              "text": "capability is declared if `appFiles` is used"
            },
            {
              "id": "only_prompt2app_helper",
              "text": "only the exact `window.Prompt2App.appFiles` methods above are used"
            },
            {
              "id": "account_linking_checked",
              "text": "account connection is user-initiated after `app_files_auth_required`"
            },
            {
              "id": "used_buckets_declared_private",
              "text": "every used bucket is declared and private"
            },
            {
              "id": "file_quota_dimensions_coherent",
              "text": "MIME types are bounded and `maxFileSizeBytes`, `maxTotalBytes`, and `maxFiles` are validated as separate dimensions within their exact ceilings"
            },
            {
              "id": "mixed_db_files_fixture_coherent",
              "text": "mixed database/file workflows keep database `list` limits, database `maxRecords`, and file `maxFiles` distinct and dimensionally coherent"
            },
            {
              "id": "exact_file_transport",
              "text": "file inputs are browser `File` values and downloads use `contentBase64`"
            },
            {
              "id": "no_invented_storage_authority",
              "text": "no public/presigned/storage URLs, filesystem paths, internal metadata, or unsupported sharing are invented"
            },
            {
              "id": "server_entitlement_authority",
              "text": "server entitlement is never inferred from the package"
            },
            {
              "id": "visible_errors",
              "text": "errors are visible and do not falsely report successful storage"
            }
          ]
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.capability.push_notifications@1",
      "instructionModuleVersionId": "aqteron.capability.push_notifications@1@0.1.4",
      "moduleKey": "aqteron.capability.push_notifications@1",
      "moduleKind": "capability",
      "displayName": "Aqteron Capability: push_notifications@1",
      "description": "",
      "sourcePath": "capabilities/PUSH_NOTIFICATIONS.md",
      "versionLabel": "0.1.4",
      "contentSha256": "0a5b01fb4034869ce181ee4312653e82c1a7b463590a56b4766e4f3c66c11886",
      "moduleMetadata": {
        "sourcePath": "capabilities/PUSH_NOTIFICATIONS.md",
        "instructionId": "aqteron.capability.push_notifications@1"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "capabilities/PUSH_NOTIFICATIONS.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.12"
        },
        "dependencies": [],
        "capabilityAvailability": {
          "capabilityKey": "push_notifications@1",
          "registryStatus": "available",
          "runtimeStatus": "runtime_available",
          "builderSelectable": true,
          "instructionVisible": true,
          "entitlementAuthority": "aqteron_validator_runtime"
        },
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Platform-managed push notification subscription and declared trigger support.",
          "userNeeds": [
            "notify users while the installed or browser PWA is closed",
            "support declared message, reminder, or shared-data alerts",
            "let users subscribe, unsubscribe, and manage notification preferences"
          ],
          "selectionSignals": [
            "user explicitly needs push or closed-app alerts",
            "notification trigger fits the supported platform contract",
            "helper-only subscription controls are sufficient"
          ],
          "exclusions": [
            "custom service workers or direct push provider calls",
            "invented send endpoints or arbitrary server triggers",
            "storing browser subscription secrets in app state"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": null
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": null
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.push_notifications@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "declared_when_helper_used",
              "text": "`push_notifications@1` is declared when notifications helper is used"
            },
            {
              "id": "supported_methods_only",
              "text": "only supported helper methods are called and no `send()` exists"
            },
            {
              "id": "no_app_service_worker_or_provider",
              "text": "no application service worker or push-provider endpoint is included"
            },
            {
              "id": "separate_explicit_user_actions",
              "text": "account linking and permission are separate explicit user actions"
            },
            {
              "id": "declared_database_trigger_fields",
              "text": "triggers use declared `app_database.record.create` fields"
            },
            {
              "id": "push_create_trigger_uses_create_path",
              "text": "every `app_database.record.create` trigger record uses the `appDatabase.put` create path, including offline/deferred replay"
            },
            {
              "id": "bounded_trigger_fields",
              "text": "actor/target/click URL fields exist as bounded strings in the database schema"
            },
            {
              "id": "same_app_click_url",
              "text": "click URL is root-relative and same-app"
            },
            {
              "id": "bounded_non_private_content",
              "text": "notification title/body are bounded and do not expose private message contents"
            },
            {
              "id": "opaque_recipient_ids",
              "text": "opaque recipient IDs are not treated as secrets or modified"
            }
          ]
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.capability.web_parser@1",
      "instructionModuleVersionId": "aqteron.capability.web_parser@1@0.1.3",
      "moduleKey": "aqteron.capability.web_parser@1",
      "moduleKind": "capability",
      "displayName": "Aqteron Capability: web_parser@1",
      "description": "",
      "sourcePath": "capabilities/WEB_PARSER.md",
      "versionLabel": "0.1.3",
      "contentSha256": "003fb3b25484e51cf31debc345cc074acbbf2ae55056deb7580d44de62923281",
      "moduleMetadata": {
        "sourcePath": "capabilities/WEB_PARSER.md",
        "instructionId": "aqteron.capability.web_parser@1"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "capabilities/WEB_PARSER.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.2"
        },
        "dependencies": [],
        "capabilityAvailability": {
          "capabilityKey": "web_parser@1",
          "registryStatus": "draft",
          "runtimeStatus": "prepared_unwired",
          "builderSelectable": false,
          "instructionVisible": true,
          "entitlementAuthority": "aqteron_validator_runtime",
          "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
        },
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Prepared public readable-text parsing contract; not selectable for current production generation.",
          "userNeeds": [
            "read sanitized text from approved public HTTP(S) pages",
            "extract readable text from a specific public URL",
            "use public web text inside an Aqteron workflow"
          ],
          "selectionSignals": [
            "future registry marks this module Builder-selectable and runtime-available",
            "source pages are public, readable, and approved",
            "readable_text output is sufficient"
          ],
          "exclusions": [
            "current production generation",
            "login-only, private, internal, localhost, or metadata URLs",
            "broad crawling, screenshots, binary downloads, raw HTML execution, or browser automation"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": "web_parser@1"
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": "draft",
            "runtimeStatus": "prepared_unwired",
            "builderSelectable": false,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.web_parser@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "workflow_needs_public_text",
              "text": "the user workflow genuinely needs public readable text"
            },
            {
              "id": "requested_domains_declared",
              "text": "every requested domain is explicitly declared"
            },
            {
              "id": "readable_text_only",
              "text": "only `readable_text` is requested"
            },
            {
              "id": "no_login_or_auth_forwarding",
              "text": "no login/session/cookie/Auth forwarding is attempted"
            },
            {
              "id": "no_private_targets",
              "text": "no private/internal/localhost/IP target is accepted"
            },
            {
              "id": "no_direct_scraping",
              "text": "no direct cross-origin scraping/headless crawling is implemented"
            },
            {
              "id": "declaration_request_agree",
              "text": "capability declaration and request URL agree"
            },
            {
              "id": "platform_errors_user_facing",
              "text": "platform errors are shown in user-facing form"
            }
          ]
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
      "instructionModuleVersionId": "aqteron.capability.webrtc_signaling@1@0.1.3",
      "moduleKey": "aqteron.capability.webrtc_signaling@1",
      "moduleKind": "capability",
      "displayName": "Aqteron Capability: webrtc_signaling@1",
      "description": "",
      "sourcePath": "capabilities/WEBRTC_SIGNALING.md",
      "versionLabel": "0.1.3",
      "contentSha256": "a124248eb1a5f4d79e9b8a2d3f954eff19da79255b5aea33dd7b2a52afdc8a45",
      "moduleMetadata": {
        "sourcePath": "capabilities/WEBRTC_SIGNALING.md",
        "instructionId": "aqteron.capability.webrtc_signaling@1"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "capabilities/WEBRTC_SIGNALING.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.2"
        },
        "dependencies": [],
        "capabilityAvailability": {
          "capabilityKey": "webrtc_signaling@1",
          "registryStatus": "draft",
          "runtimeStatus": "prepared_unwired",
          "builderSelectable": false,
          "instructionVisible": true,
          "entitlementAuthority": "aqteron_validator_runtime",
          "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
        },
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Prepared WebRTC signaling contract; not selectable for current production generation.",
          "userNeeds": [
            "coordinate browser peer-to-peer audio, video, or data channel setup",
            "exchange short-lived WebRTC signaling messages",
            "support future real-time peer connection workflows"
          ],
          "selectionSignals": [
            "future registry marks this module Builder-selectable and runtime-available",
            "application needs WebRTC signaling rather than media relay",
            "short-lived helper-mediated signaling is sufficient"
          ],
          "exclusions": [
            "current production generation",
            "media relay, recording, TURN/STUN credential management, or persistent chat storage",
            "storing SDP or ICE payloads in app_database@1"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": null
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": "draft",
            "runtimeStatus": "prepared_unwired",
            "builderSelectable": false,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "declared_when_helper_used",
              "text": "the capability is declared if signaling helper is used"
            },
            {
              "id": "signaling_not_database_persisted",
              "text": "signaling data is not persisted in `app_database@1`"
            },
            {
              "id": "no_custom_signaling_route",
              "text": "no private/custom signaling server route is invented"
            },
            {
              "id": "bounded_payload_and_ttl",
              "text": "payload size and TTL are bounded"
            },
            {
              "id": "p2p_media_boundary",
              "text": "audio/video is peer-to-peer and not falsely described as Aqteron media relay"
            },
            {
              "id": "no_unsupported_turn_promise",
              "text": "TURN availability is not promised unless a supported TURN capability exists"
            },
            {
              "id": "visible_failure_states",
              "text": "call failure and unsupported-environment states are shown to the user"
            }
          ]
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.final-check.pwa-v1",
      "instructionModuleVersionId": "aqteron.final-check.pwa-v1@0.2.2",
      "moduleKey": "aqteron.final-check.pwa-v1",
      "moduleKind": "final_check",
      "displayName": "Aqteron Final Check",
      "description": "",
      "sourcePath": "FINAL_CHECK.md",
      "versionLabel": "0.2.2",
      "contentSha256": "0d6797c3c4324694a36e8e9f61e8f4c7351ed97a4ea683e1455df23d58598d77",
      "moduleMetadata": {
        "sourcePath": "FINAL_CHECK.md",
        "instructionId": "aqteron.final-check.pwa-v1"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "FINAL_CHECK.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.2"
        },
        "dependencies": []
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.final-response.user-facing-v1",
      "instructionModuleVersionId": "aqteron.final-response.user-facing-v1@0.1.1",
      "moduleKey": "aqteron.final-response.user-facing-v1",
      "moduleKind": "final_response",
      "displayName": "Aqteron User-Facing Final Response",
      "description": "",
      "sourcePath": "FINAL_RESPONSE.md",
      "versionLabel": "0.1.1",
      "contentSha256": "9784bf20ba0c313a559375b12d7fe83c921ae7ef8122cbf448b008a79a93d31a",
      "moduleMetadata": {
        "sourcePath": "FINAL_RESPONSE.md",
        "instructionId": "aqteron.final-response.user-facing-v1"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "FINAL_RESPONSE.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.13"
        },
        "dependencies": []
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.package.pwa-v1",
      "instructionModuleVersionId": "aqteron.package.pwa-v1@0.1.3",
      "moduleKey": "aqteron.package.pwa-v1",
      "moduleKind": "package",
      "displayName": "Aqteron Package Contract",
      "description": "",
      "sourcePath": "PACKAGE.md",
      "versionLabel": "0.1.3",
      "contentSha256": "8fdd25c656a7dd2a171660eb7bbb419bebf0835b72b00c10158f06660abe16f1",
      "moduleMetadata": {
        "sourcePath": "PACKAGE.md",
        "instructionId": "aqteron.package.pwa-v1"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "PACKAGE.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.4"
        },
        "dependencies": []
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.type.app",
      "instructionModuleVersionId": "aqteron.type.app@0.1.1",
      "moduleKey": "aqteron.type.app",
      "moduleKind": "type",
      "displayName": "Aqteron Product Type: Application",
      "description": "",
      "sourcePath": "types/APP.md",
      "versionLabel": "0.1.1",
      "contentSha256": "a4d220de4a687403f00c74f3a2658885f035c400b3bbb5bd869c9b074b75ca03",
      "moduleMetadata": {
        "sourcePath": "types/APP.md",
        "instructionId": "aqteron.type.app"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "types/APP.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.2"
        },
        "dependencies": [],
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Focused record or workflow application for repeated personal or business tasks.",
          "userNeeds": [
            "track records or ongoing state",
            "organize repeated workflows",
            "manage personal or business data"
          ],
          "selectionSignals": [
            "records need create/view/edit/delete behavior",
            "workflow spans multiple steps or screens",
            "saved state is central to the user value"
          ],
          "exclusions": [
            "one-off calculator, converter, validator, or generator",
            "primarily informational or promotional website",
            "playable game-first request"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": null
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": null,
            "runtimeStatus": null,
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": null,
            "notSelectableReason": null
          }
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.type.game",
      "instructionModuleVersionId": "aqteron.type.game@0.1.1",
      "moduleKey": "aqteron.type.game",
      "moduleKind": "type",
      "displayName": "Aqteron Product Type: Game",
      "description": "",
      "sourcePath": "types/GAME.md",
      "versionLabel": "0.1.1",
      "contentSha256": "fad98ade2dfb39851e044dc3c461982c3991481aa99304a24e84309d036fff8f",
      "moduleMetadata": {
        "sourcePath": "types/GAME.md",
        "instructionId": "aqteron.type.game"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "types/GAME.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.2"
        },
        "dependencies": [],
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Playable browser game with a complete objective, loop, controls, and feedback.",
          "userNeeds": [
            "play a browser game",
            "support scoring, levels, turns, challenge, or replay",
            "create an interactive entertainment experience"
          ],
          "selectionSignals": [
            "primary value is gameplay",
            "rules, controls, win/loss, score, or progression are required",
            "first screen should start or explain play"
          ],
          "exclusions": [
            "business or personal record workflow",
            "one-off productivity utility",
            "informational or promotional website"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": null
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": null,
            "runtimeStatus": null,
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": null,
            "notSelectableReason": null
          }
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.type.tool",
      "instructionModuleVersionId": "aqteron.type.tool@0.1.1",
      "moduleKey": "aqteron.type.tool",
      "moduleKind": "type",
      "displayName": "Aqteron Product Type: Tool",
      "description": "",
      "sourcePath": "types/TOOL.md",
      "versionLabel": "0.1.1",
      "contentSha256": "542e780b53c5b6cbcff55fa71d3b8661d0089364b5e1a2359a6640b62da3f008",
      "moduleMetadata": {
        "sourcePath": "types/TOOL.md",
        "instructionId": "aqteron.type.tool"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "types/TOOL.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.2"
        },
        "dependencies": [],
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Direct task-first utility for a narrow input-action-result workflow.",
          "userNeeds": [
            "calculate, convert, generate, analyze, validate, format, or plan",
            "complete a narrow task with clear inputs and outputs",
            "reuse a compact work instrument"
          ],
          "selectionSignals": [
            "single primary action produces the result",
            "inputs, assumptions, validation, and output are the main workflow",
            "dashboard, account, or record lifecycle is not central"
          ],
          "exclusions": [
            "broad multi-record application",
            "marketing or content website",
            "playable game"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": null
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": null,
            "runtimeStatus": null,
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": null,
            "notSelectableReason": null
          }
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    },
    {
      "instructionModuleId": "aqteron.type.website",
      "instructionModuleVersionId": "aqteron.type.website@0.1.1",
      "moduleKey": "aqteron.type.website",
      "moduleKind": "type",
      "displayName": "Aqteron Product Type: Website",
      "description": "",
      "sourcePath": "types/WEBSITE.md",
      "versionLabel": "0.1.1",
      "contentSha256": "278a6fed8766375fe579f692438e7d0c88d44b192f09caff734a5fcd3e580c5c",
      "moduleMetadata": {
        "sourcePath": "types/WEBSITE.md",
        "instructionId": "aqteron.type.website"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "types/WEBSITE.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.2"
        },
        "dependencies": [],
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Publishable informational, promotional, portfolio, catalogue, or company website.",
          "userNeeds": [
            "present information, brand, offer, work, catalogue, or content",
            "guide visitors to contact, buy, book, learn, or explore",
            "publish a multi-section or multi-page site"
          ],
          "selectionSignals": [
            "visitor communication is the main goal",
            "sections such as overview, proof, services, pricing, FAQ, or contact are useful",
            "content hierarchy and calls to action matter more than record management"
          ],
          "exclusions": [
            "repeated record-based application",
            "single-purpose calculator or generator",
            "playable game"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": null
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": null,
            "runtimeStatus": null,
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": null,
            "notSelectableReason": null
          }
        }
      },
      "pinnedAt": "2026-09-15T11:38:02.657Z",
      "pinnedBy": "gen-context-ux-001"
    }
  ],
  "capabilityRegistry": [
    {
      "capabilityKey": "ai_bridge@1",
      "instructionModuleId": null,
      "instructionModuleVersionId": null,
      "registryStatus": "disabled",
      "displayName": "AI Bridge",
      "summary": "Disabled scaffold capability; unavailable in current production.",
      "metadataJson": "{\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"AI Bridge\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\"},\"fr\":{\"name\":\"Passerelle IA\",\"summary\":\"Capacité préparatoire désactivée, indisponible dans la production actuelle.\"},\"ru\":{\"name\":\"Шлюз ИИ\",\"summary\":\"Отключённая заготовка возможности; недоступна в текущей production-среде.\"}}},\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"}",
      "metadata": {
        "runtimeStatus": "disabled_scaffold",
        "builderSelectable": false,
        "instructionVisible": false,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "AI Bridge",
              "summary": "Disabled scaffold capability; unavailable in current production."
            },
            "fr": {
              "name": "Passerelle IA",
              "summary": "Capacité préparatoire désactivée, indisponible dans la production actuelle."
            },
            "ru": {
              "name": "Шлюз ИИ",
              "summary": "Отключённая заготовка возможности; недоступна в текущей production-среде."
            }
          }
        },
        "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    },
    {
      "capabilityKey": "app_database@1",
      "instructionModuleId": "aqteron.capability.app_database@1",
      "instructionModuleVersionId": "aqteron.capability.app_database@1@0.1.4",
      "registryStatus": "available",
      "displayName": "App Database",
      "summary": "App-scoped JSON record storage for shared or cross-device persistence.",
      "metadataJson": "{\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"App Database\",\"summary\":\"App-scoped JSON record storage for shared or cross-device persistence.\"},\"fr\":{\"name\":\"Base de données de l'application\",\"summary\":\"Stockage de documents JSON propre à l'application pour une persistance partagée ou multi-appareil.\"},\"ru\":{\"name\":\"База данных приложения\",\"summary\":\"Хранилище JSON-записей приложения для общего доступа и синхронизации между устройствами.\"}}},\"sourcePath\":\"capabilities/APP_DATABASE.md\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"App-scoped JSON record storage for shared or cross-device persistence.\",\"userNeeds\":[\"persist structured records beyond one browser or install\",\"share app-scoped records across linked users or devices\",\"store bounded server-side JSON records\"],\"selectionSignals\":[\"localStorage or IndexedDB is insufficient\",\"records must survive reinstall or device changes\",\"multiple users or devices need the same app data\"],\"exclusions\":[\"file, image, document, or attachment storage\",\"raw SQL or arbitrary backend database access\",\"secrets, credentials, passwords, tokens, or private keys\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"app_database@1\"},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.app_database@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"capability is declared when JavaScript uses `appDatabase`\"},{\"id\":\"used_collections_declared\",\"text\":\"every used collection is declared\"},{\"id\":\"schema_keys_match\",\"text\":\"schema and JS keys are identical lower_snake_case ASCII\"},{\"id\":\"no_undeclared_fields\",\"text\":\"no undeclared extra fields are written\"},{\"id\":\"new_record_uses_put\",\"text\":\"every new logical record uses `put` with declared `record.create`\"},{\"id\":\"existing_record_uses_set\",\"text\":\"every existing logical record update uses `set` with declared `record.update`\"},{\"id\":\"offline_replay_preserves_intent\",\"text\":\"offline/deferred replay preserves `put` versus `set` operation intent\"},{\"id\":\"bounded_list_limit\",\"text\":\"every `list` call has an explicit numeric limit from 1 to 100\"},{\"id\":\"db_list_limit_not_record_quota\",\"text\":\"a `list` retrieval limit is not treated as the collection `maxRecords` quota\"},{\"id\":\"no_raw_secrets\",\"text\":\"no raw secrets are persisted\"},{\"id\":\"no_private_database_routes\",\"text\":\"no direct/private database routes or raw SQL are used\"},{\"id\":\"user_readable_errors\",\"text\":\"capability failures produce user-readable UI errors\"}]}}",
      "metadata": {
        "runtimeStatus": "runtime_available",
        "builderSelectable": true,
        "instructionVisible": true,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "App Database",
              "summary": "App-scoped JSON record storage for shared or cross-device persistence."
            },
            "fr": {
              "name": "Base de données de l'application",
              "summary": "Stockage de documents JSON propre à l'application pour une persistance partagée ou multi-appareil."
            },
            "ru": {
              "name": "База данных приложения",
              "summary": "Хранилище JSON-записей приложения для общего доступа и синхронизации между устройствами."
            }
          }
        },
        "sourcePath": "capabilities/APP_DATABASE.md",
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "App-scoped JSON record storage for shared or cross-device persistence.",
          "userNeeds": [
            "persist structured records beyond one browser or install",
            "share app-scoped records across linked users or devices",
            "store bounded server-side JSON records"
          ],
          "selectionSignals": [
            "localStorage or IndexedDB is insufficient",
            "records must survive reinstall or device changes",
            "multiple users or devices need the same app data"
          ],
          "exclusions": [
            "file, image, document, or attachment storage",
            "raw SQL or arbitrary backend database access",
            "secrets, credentials, passwords, tokens, or private keys"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": "app_database@1"
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": null
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.app_database@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "declared_when_helper_used",
              "text": "capability is declared when JavaScript uses `appDatabase`"
            },
            {
              "id": "used_collections_declared",
              "text": "every used collection is declared"
            },
            {
              "id": "schema_keys_match",
              "text": "schema and JS keys are identical lower_snake_case ASCII"
            },
            {
              "id": "no_undeclared_fields",
              "text": "no undeclared extra fields are written"
            },
            {
              "id": "new_record_uses_put",
              "text": "every new logical record uses `put` with declared `record.create`"
            },
            {
              "id": "existing_record_uses_set",
              "text": "every existing logical record update uses `set` with declared `record.update`"
            },
            {
              "id": "offline_replay_preserves_intent",
              "text": "offline/deferred replay preserves `put` versus `set` operation intent"
            },
            {
              "id": "bounded_list_limit",
              "text": "every `list` call has an explicit numeric limit from 1 to 100"
            },
            {
              "id": "db_list_limit_not_record_quota",
              "text": "a `list` retrieval limit is not treated as the collection `maxRecords` quota"
            },
            {
              "id": "no_raw_secrets",
              "text": "no raw secrets are persisted"
            },
            {
              "id": "no_private_database_routes",
              "text": "no direct/private database routes or raw SQL are used"
            },
            {
              "id": "user_readable_errors",
              "text": "capability failures produce user-readable UI errors"
            }
          ]
        }
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    },
    {
      "capabilityKey": "app_files@1",
      "instructionModuleId": "aqteron.capability.app_files@1",
      "instructionModuleVersionId": "aqteron.capability.app_files@1@0.3.0",
      "registryStatus": "available",
      "displayName": "App Files",
      "summary": "Guarded private file storage for entitled applications when canonical readiness controls pass.",
      "metadataJson": "{\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"App Files\",\"summary\":\"Guarded private file storage for entitled applications when canonical readiness controls pass.\"},\"fr\":{\"name\":\"Fichiers de l'application\",\"summary\":\"Stockage de fichiers privés protégé pour les applications autorisées lorsque les contrôles de disponibilité canoniques réussissent.\"},\"ru\":{\"name\":\"Файлы приложения\",\"summary\":\"Защищённое приватное хранилище файлов для приложений с правом доступа при успешной канонической проверке готовности.\"}}},\"sourcePath\":\"capabilities/APP_FILES.md\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Guarded private file storage for entitled applications when canonical readiness controls pass.\",\"userNeeds\":[\"store user files, attachments, images, documents, imports, or exports\",\"keep private application-scoped files in managed storage\",\"associate files with app workflows\"],\"selectionSignals\":[\"managed private files are required and server-side entitlement is available\",\"files must persist outside local browser storage\",\"workflow references uploaded or generated files\"],\"exclusions\":[\"workflows that can remain entirely in local browser storage\",\"public hosting or public URL generation\",\"shared-drive behavior across unrelated apps or users\",\"structured JSON record storage without files\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"app_files@1\"},\"availability\":{\"instructionStatus\":\"activation_candidate\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.app_files@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"capability is declared if `appFiles` is used\"},{\"id\":\"only_prompt2app_helper\",\"text\":\"only the exact `window.Prompt2App.appFiles` methods above are used\"},{\"id\":\"account_linking_checked\",\"text\":\"account connection is user-initiated after `app_files_auth_required`\"},{\"id\":\"used_buckets_declared_private\",\"text\":\"every used bucket is declared and private\"},{\"id\":\"file_quota_dimensions_coherent\",\"text\":\"MIME types are bounded and `maxFileSizeBytes`, `maxTotalBytes`, and `maxFiles` are validated as separate dimensions within their exact ceilings\"},{\"id\":\"mixed_db_files_fixture_coherent\",\"text\":\"mixed database/file workflows keep database `list` limits, database `maxRecords`, and file `maxFiles` distinct and dimensionally coherent\"},{\"id\":\"exact_file_transport\",\"text\":\"file inputs are browser `File` values and downloads use `contentBase64`\"},{\"id\":\"no_invented_storage_authority\",\"text\":\"no public/presigned/storage URLs, filesystem paths, internal metadata, or unsupported sharing are invented\"},{\"id\":\"server_entitlement_authority\",\"text\":\"server entitlement is never inferred from the package\"},{\"id\":\"visible_errors\",\"text\":\"errors are visible and do not falsely report successful storage\"}]}}",
      "metadata": {
        "runtimeStatus": "runtime_available",
        "builderSelectable": true,
        "instructionVisible": true,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "App Files",
              "summary": "Guarded private file storage for entitled applications when canonical readiness controls pass."
            },
            "fr": {
              "name": "Fichiers de l'application",
              "summary": "Stockage de fichiers privés protégé pour les applications autorisées lorsque les contrôles de disponibilité canoniques réussissent."
            },
            "ru": {
              "name": "Файлы приложения",
              "summary": "Защищённое приватное хранилище файлов для приложений с правом доступа при успешной канонической проверке готовности."
            }
          }
        },
        "sourcePath": "capabilities/APP_FILES.md",
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Guarded private file storage for entitled applications when canonical readiness controls pass.",
          "userNeeds": [
            "store user files, attachments, images, documents, imports, or exports",
            "keep private application-scoped files in managed storage",
            "associate files with app workflows"
          ],
          "selectionSignals": [
            "managed private files are required and server-side entitlement is available",
            "files must persist outside local browser storage",
            "workflow references uploaded or generated files"
          ],
          "exclusions": [
            "workflows that can remain entirely in local browser storage",
            "public hosting or public URL generation",
            "shared-drive behavior across unrelated apps or users",
            "structured JSON record storage without files"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": "app_files@1"
          },
          "availability": {
            "instructionStatus": "activation_candidate",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": null
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.app_files@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "declared_when_helper_used",
              "text": "capability is declared if `appFiles` is used"
            },
            {
              "id": "only_prompt2app_helper",
              "text": "only the exact `window.Prompt2App.appFiles` methods above are used"
            },
            {
              "id": "account_linking_checked",
              "text": "account connection is user-initiated after `app_files_auth_required`"
            },
            {
              "id": "used_buckets_declared_private",
              "text": "every used bucket is declared and private"
            },
            {
              "id": "file_quota_dimensions_coherent",
              "text": "MIME types are bounded and `maxFileSizeBytes`, `maxTotalBytes`, and `maxFiles` are validated as separate dimensions within their exact ceilings"
            },
            {
              "id": "mixed_db_files_fixture_coherent",
              "text": "mixed database/file workflows keep database `list` limits, database `maxRecords`, and file `maxFiles` distinct and dimensionally coherent"
            },
            {
              "id": "exact_file_transport",
              "text": "file inputs are browser `File` values and downloads use `contentBase64`"
            },
            {
              "id": "no_invented_storage_authority",
              "text": "no public/presigned/storage URLs, filesystem paths, internal metadata, or unsupported sharing are invented"
            },
            {
              "id": "server_entitlement_authority",
              "text": "server entitlement is never inferred from the package"
            },
            {
              "id": "visible_errors",
              "text": "errors are visible and do not falsely report successful storage"
            }
          ]
        }
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    },
    {
      "capabilityKey": "app_secrets@1",
      "instructionModuleId": null,
      "instructionModuleVersionId": null,
      "registryStatus": "disabled",
      "displayName": "App Secrets",
      "summary": "Disabled scaffold capability; unavailable in current production.",
      "metadataJson": "{\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"App Secrets\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\"},\"fr\":{\"name\":\"Secrets de l'application\",\"summary\":\"Capacité préparatoire désactivée, indisponible dans la production actuelle.\"},\"ru\":{\"name\":\"Секреты приложения\",\"summary\":\"Отключённая заготовка возможности; недоступна в текущей production-среде.\"}}},\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"}",
      "metadata": {
        "runtimeStatus": "disabled_scaffold",
        "builderSelectable": false,
        "instructionVisible": false,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "App Secrets",
              "summary": "Disabled scaffold capability; unavailable in current production."
            },
            "fr": {
              "name": "Secrets de l'application",
              "summary": "Capacité préparatoire désactivée, indisponible dans la production actuelle."
            },
            "ru": {
              "name": "Секреты приложения",
              "summary": "Отключённая заготовка возможности; недоступна в текущей production-среде."
            }
          }
        },
        "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    },
    {
      "capabilityKey": "app_users@1",
      "instructionModuleId": null,
      "instructionModuleVersionId": null,
      "registryStatus": "disabled",
      "displayName": "App Users",
      "summary": "Disabled scaffold capability; unavailable in current production.",
      "metadataJson": "{\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"App Users\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\"},\"fr\":{\"name\":\"Utilisateurs de l'application\",\"summary\":\"Capacité préparatoire désactivée, indisponible dans la production actuelle.\"},\"ru\":{\"name\":\"Пользователи приложения\",\"summary\":\"Отключённая заготовка возможности; недоступна в текущей production-среде.\"}}},\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"}",
      "metadata": {
        "runtimeStatus": "disabled_scaffold",
        "builderSelectable": false,
        "instructionVisible": false,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "App Users",
              "summary": "Disabled scaffold capability; unavailable in current production."
            },
            "fr": {
              "name": "Utilisateurs de l'application",
              "summary": "Capacité préparatoire désactivée, indisponible dans la production actuelle."
            },
            "ru": {
              "name": "Пользователи приложения",
              "summary": "Отключённая заготовка возможности; недоступна в текущей production-среде."
            }
          }
        },
        "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    },
    {
      "capabilityKey": "external_api_proxy@1",
      "instructionModuleId": null,
      "instructionModuleVersionId": null,
      "registryStatus": "disabled",
      "displayName": "External API Proxy",
      "summary": "Disabled scaffold capability; unavailable in current production.",
      "metadataJson": "{\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"External API Proxy\",\"summary\":\"Disabled scaffold capability; unavailable in current production.\"},\"fr\":{\"name\":\"Proxy d'API externe\",\"summary\":\"Capacité préparatoire désactivée, indisponible dans la production actuelle.\"},\"ru\":{\"name\":\"Прокси внешнего API\",\"summary\":\"Отключённая заготовка возможности; недоступна в текущей production-среде.\"}}},\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"}",
      "metadata": {
        "runtimeStatus": "disabled_scaffold",
        "builderSelectable": false,
        "instructionVisible": false,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "External API Proxy",
              "summary": "Disabled scaffold capability; unavailable in current production."
            },
            "fr": {
              "name": "Proxy d'API externe",
              "summary": "Capacité préparatoire désactivée, indisponible dans la production actuelle."
            },
            "ru": {
              "name": "Прокси внешнего API",
              "summary": "Отключённая заготовка возможности; недоступна в текущей production-среде."
            }
          }
        },
        "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    },
    {
      "capabilityKey": "push_notifications@1",
      "instructionModuleId": "aqteron.capability.push_notifications@1",
      "instructionModuleVersionId": "aqteron.capability.push_notifications@1@0.1.4",
      "registryStatus": "available",
      "displayName": "Push Notifications",
      "summary": "Platform-managed push notification subscription and declared trigger support.",
      "metadataJson": "{\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"Push Notifications\",\"summary\":\"Platform-managed push notification subscription and declared trigger support.\"},\"fr\":{\"name\":\"Notifications push\",\"summary\":\"Abonnements aux notifications push gérés par la plateforme et prise en charge des déclencheurs déclarés.\"},\"ru\":{\"name\":\"Push-уведомления\",\"summary\":\"Управляемые платформой подписки на push-уведомления и поддержка объявленных триггеров.\"}}},\"sourcePath\":\"capabilities/PUSH_NOTIFICATIONS.md\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Platform-managed push notification subscription and declared trigger support.\",\"userNeeds\":[\"notify users while the installed or browser PWA is closed\",\"support declared message, reminder, or shared-data alerts\",\"let users subscribe, unsubscribe, and manage notification preferences\"],\"selectionSignals\":[\"user explicitly needs push or closed-app alerts\",\"notification trigger fits the supported platform contract\",\"helper-only subscription controls are sufficient\"],\"exclusions\":[\"custom service workers or direct push provider calls\",\"invented send endpoints or arbitrary server triggers\",\"storing browser subscription secrets in app state\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":null}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.push_notifications@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"`push_notifications@1` is declared when notifications helper is used\"},{\"id\":\"supported_methods_only\",\"text\":\"only supported helper methods are called and no `send()` exists\"},{\"id\":\"no_app_service_worker_or_provider\",\"text\":\"no application service worker or push-provider endpoint is included\"},{\"id\":\"separate_explicit_user_actions\",\"text\":\"account linking and permission are separate explicit user actions\"},{\"id\":\"declared_database_trigger_fields\",\"text\":\"triggers use declared `app_database.record.create` fields\"},{\"id\":\"push_create_trigger_uses_create_path\",\"text\":\"every `app_database.record.create` trigger record uses the `appDatabase.put` create path, including offline/deferred replay\"},{\"id\":\"bounded_trigger_fields\",\"text\":\"actor/target/click URL fields exist as bounded strings in the database schema\"},{\"id\":\"same_app_click_url\",\"text\":\"click URL is root-relative and same-app\"},{\"id\":\"bounded_non_private_content\",\"text\":\"notification title/body are bounded and do not expose private message contents\"},{\"id\":\"opaque_recipient_ids\",\"text\":\"opaque recipient IDs are not treated as secrets or modified\"}]}}",
      "metadata": {
        "runtimeStatus": "runtime_available",
        "builderSelectable": true,
        "instructionVisible": true,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "Push Notifications",
              "summary": "Platform-managed push notification subscription and declared trigger support."
            },
            "fr": {
              "name": "Notifications push",
              "summary": "Abonnements aux notifications push gérés par la plateforme et prise en charge des déclencheurs déclarés."
            },
            "ru": {
              "name": "Push-уведомления",
              "summary": "Управляемые платформой подписки на push-уведомления и поддержка объявленных триггеров."
            }
          }
        },
        "sourcePath": "capabilities/PUSH_NOTIFICATIONS.md",
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Platform-managed push notification subscription and declared trigger support.",
          "userNeeds": [
            "notify users while the installed or browser PWA is closed",
            "support declared message, reminder, or shared-data alerts",
            "let users subscribe, unsubscribe, and manage notification preferences"
          ],
          "selectionSignals": [
            "user explicitly needs push or closed-app alerts",
            "notification trigger fits the supported platform contract",
            "helper-only subscription controls are sufficient"
          ],
          "exclusions": [
            "custom service workers or direct push provider calls",
            "invented send endpoints or arbitrary server triggers",
            "storing browser subscription secrets in app state"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": null
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": "available",
            "runtimeStatus": "runtime_available",
            "builderSelectable": true,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": null
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.push_notifications@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "declared_when_helper_used",
              "text": "`push_notifications@1` is declared when notifications helper is used"
            },
            {
              "id": "supported_methods_only",
              "text": "only supported helper methods are called and no `send()` exists"
            },
            {
              "id": "no_app_service_worker_or_provider",
              "text": "no application service worker or push-provider endpoint is included"
            },
            {
              "id": "separate_explicit_user_actions",
              "text": "account linking and permission are separate explicit user actions"
            },
            {
              "id": "declared_database_trigger_fields",
              "text": "triggers use declared `app_database.record.create` fields"
            },
            {
              "id": "push_create_trigger_uses_create_path",
              "text": "every `app_database.record.create` trigger record uses the `appDatabase.put` create path, including offline/deferred replay"
            },
            {
              "id": "bounded_trigger_fields",
              "text": "actor/target/click URL fields exist as bounded strings in the database schema"
            },
            {
              "id": "same_app_click_url",
              "text": "click URL is root-relative and same-app"
            },
            {
              "id": "bounded_non_private_content",
              "text": "notification title/body are bounded and do not expose private message contents"
            },
            {
              "id": "opaque_recipient_ids",
              "text": "opaque recipient IDs are not treated as secrets or modified"
            }
          ]
        }
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    },
    {
      "capabilityKey": "web_parser@1",
      "instructionModuleId": "aqteron.capability.web_parser@1",
      "instructionModuleVersionId": "aqteron.capability.web_parser@1@0.1.3",
      "registryStatus": "draft",
      "displayName": "Web Parser",
      "summary": "Prepared public readable-text parsing contract; not selectable for current production generation.",
      "metadataJson": "{\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"Web Parser\",\"summary\":\"Prepared public readable-text parsing contract; not selectable for current production generation.\"},\"fr\":{\"name\":\"Analyseur web\",\"summary\":\"Contrat préparé d'extraction de texte lisible public, non sélectionnable pour la génération de production actuelle.\"},\"ru\":{\"name\":\"Веб-парсер\",\"summary\":\"Подготовленный контракт извлечения общедоступного читаемого текста; недоступен для текущей production-генерации.\"}}},\"sourcePath\":\"capabilities/WEB_PARSER.md\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Prepared public readable-text parsing contract; not selectable for current production generation.\",\"userNeeds\":[\"read sanitized text from approved public HTTP(S) pages\",\"extract readable text from a specific public URL\",\"use public web text inside an Aqteron workflow\"],\"selectionSignals\":[\"future registry marks this module Builder-selectable and runtime-available\",\"source pages are public, readable, and approved\",\"readable_text output is sufficient\"],\"exclusions\":[\"current production generation\",\"login-only, private, internal, localhost, or metadata URLs\",\"broad crawling, screenshots, binary downloads, raw HTML execution, or browser automation\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":\"web_parser@1\"},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\"}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.web_parser@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"workflow_needs_public_text\",\"text\":\"the user workflow genuinely needs public readable text\"},{\"id\":\"requested_domains_declared\",\"text\":\"every requested domain is explicitly declared\"},{\"id\":\"readable_text_only\",\"text\":\"only `readable_text` is requested\"},{\"id\":\"no_login_or_auth_forwarding\",\"text\":\"no login/session/cookie/Auth forwarding is attempted\"},{\"id\":\"no_private_targets\",\"text\":\"no private/internal/localhost/IP target is accepted\"},{\"id\":\"no_direct_scraping\",\"text\":\"no direct cross-origin scraping/headless crawling is implemented\"},{\"id\":\"declaration_request_agree\",\"text\":\"capability declaration and request URL agree\"},{\"id\":\"platform_errors_user_facing\",\"text\":\"platform errors are shown in user-facing form\"}]}}",
      "metadata": {
        "runtimeStatus": "prepared_unwired",
        "builderSelectable": false,
        "instructionVisible": true,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "Web Parser",
              "summary": "Prepared public readable-text parsing contract; not selectable for current production generation."
            },
            "fr": {
              "name": "Analyseur web",
              "summary": "Contrat préparé d'extraction de texte lisible public, non sélectionnable pour la génération de production actuelle."
            },
            "ru": {
              "name": "Веб-парсер",
              "summary": "Подготовленный контракт извлечения общедоступного читаемого текста; недоступен для текущей production-генерации."
            }
          }
        },
        "sourcePath": "capabilities/WEB_PARSER.md",
        "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability.",
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Prepared public readable-text parsing contract; not selectable for current production generation.",
          "userNeeds": [
            "read sanitized text from approved public HTTP(S) pages",
            "extract readable text from a specific public URL",
            "use public web text inside an Aqteron workflow"
          ],
          "selectionSignals": [
            "future registry marks this module Builder-selectable and runtime-available",
            "source pages are public, readable, and approved",
            "readable_text output is sufficient"
          ],
          "exclusions": [
            "current production generation",
            "login-only, private, internal, localhost, or metadata URLs",
            "broad crawling, screenshots, binary downloads, raw HTML execution, or browser automation"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": "web_parser@1"
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": "draft",
            "runtimeStatus": "prepared_unwired",
            "builderSelectable": false,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.web_parser@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "workflow_needs_public_text",
              "text": "the user workflow genuinely needs public readable text"
            },
            {
              "id": "requested_domains_declared",
              "text": "every requested domain is explicitly declared"
            },
            {
              "id": "readable_text_only",
              "text": "only `readable_text` is requested"
            },
            {
              "id": "no_login_or_auth_forwarding",
              "text": "no login/session/cookie/Auth forwarding is attempted"
            },
            {
              "id": "no_private_targets",
              "text": "no private/internal/localhost/IP target is accepted"
            },
            {
              "id": "no_direct_scraping",
              "text": "no direct cross-origin scraping/headless crawling is implemented"
            },
            {
              "id": "declaration_request_agree",
              "text": "capability declaration and request URL agree"
            },
            {
              "id": "platform_errors_user_facing",
              "text": "platform errors are shown in user-facing form"
            }
          ]
        }
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    },
    {
      "capabilityKey": "webrtc_signaling@1",
      "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
      "instructionModuleVersionId": "aqteron.capability.webrtc_signaling@1@0.1.3",
      "registryStatus": "draft",
      "displayName": "WebRTC Signaling",
      "summary": "Prepared WebRTC signaling contract; not selectable for current production generation.",
      "metadataJson": "{\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"presentation\":{\"locales\":{\"en\":{\"name\":\"WebRTC Signaling\",\"summary\":\"Prepared WebRTC signaling contract; not selectable for current production generation.\"},\"fr\":{\"name\":\"Signalisation WebRTC\",\"summary\":\"Contrat préparé de signalisation WebRTC, non sélectionnable pour la génération de production actuelle.\"},\"ru\":{\"name\":\"Сигналинг WebRTC\",\"summary\":\"Подготовленный контракт сигналинга WebRTC; недоступен для текущей production-генерации.\"}}},\"sourcePath\":\"capabilities/WEBRTC_SIGNALING.md\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Prepared WebRTC signaling contract; not selectable for current production generation.\",\"userNeeds\":[\"coordinate browser peer-to-peer audio, video, or data channel setup\",\"exchange short-lived WebRTC signaling messages\",\"support future real-time peer connection workflows\"],\"selectionSignals\":[\"future registry marks this module Builder-selectable and runtime-available\",\"application needs WebRTC signaling rather than media relay\",\"short-lived helper-mediated signaling is sufficient\"],\"exclusions\":[\"current production generation\",\"media relay, recording, TURN/STUN credential management, or persistent chat storage\",\"storing SDP or ICE payloads in app_database@1\"],\"dependencies\":[],\"compatibility\":{\"contracts\":[\"Aqteron PWA v1\"],\"requires\":[],\"conflicts\":[]},\"runtime\":{\"adapterId\":null},\"availability\":{\"instructionStatus\":\"draft\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"notSelectableReason\":\"Prepared contract only; active production runtime is not wired as a Builder-usable capability.\"}},\"selfCheckMetadata\":{\"schemaVersion\":\"aqteron.builder.module_self_check.v1\",\"instructionModuleId\":\"aqteron.capability.webrtc_signaling@1\",\"moduleKind\":\"capability\",\"required\":true,\"appliesWhenSelected\":true,\"sourceHeading\":\"Module self-check\",\"checks\":[{\"id\":\"declared_when_helper_used\",\"text\":\"the capability is declared if signaling helper is used\"},{\"id\":\"signaling_not_database_persisted\",\"text\":\"signaling data is not persisted in `app_database@1`\"},{\"id\":\"no_custom_signaling_route\",\"text\":\"no private/custom signaling server route is invented\"},{\"id\":\"bounded_payload_and_ttl\",\"text\":\"payload size and TTL are bounded\"},{\"id\":\"p2p_media_boundary\",\"text\":\"audio/video is peer-to-peer and not falsely described as Aqteron media relay\"},{\"id\":\"no_unsupported_turn_promise\",\"text\":\"TURN availability is not promised unless a supported TURN capability exists\"},{\"id\":\"visible_failure_states\",\"text\":\"call failure and unsupported-environment states are shown to the user\"}]}}",
      "metadata": {
        "runtimeStatus": "prepared_unwired",
        "builderSelectable": false,
        "instructionVisible": true,
        "entitlementAuthority": "aqteron_validator_runtime",
        "presentation": {
          "locales": {
            "en": {
              "name": "WebRTC Signaling",
              "summary": "Prepared WebRTC signaling contract; not selectable for current production generation."
            },
            "fr": {
              "name": "Signalisation WebRTC",
              "summary": "Contrat préparé de signalisation WebRTC, non sélectionnable pour la génération de production actuelle."
            },
            "ru": {
              "name": "Сигналинг WebRTC",
              "summary": "Подготовленный контракт сигналинга WebRTC; недоступен для текущей production-генерации."
            }
          }
        },
        "sourcePath": "capabilities/WEBRTC_SIGNALING.md",
        "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability.",
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Prepared WebRTC signaling contract; not selectable for current production generation.",
          "userNeeds": [
            "coordinate browser peer-to-peer audio, video, or data channel setup",
            "exchange short-lived WebRTC signaling messages",
            "support future real-time peer connection workflows"
          ],
          "selectionSignals": [
            "future registry marks this module Builder-selectable and runtime-available",
            "application needs WebRTC signaling rather than media relay",
            "short-lived helper-mediated signaling is sufficient"
          ],
          "exclusions": [
            "current production generation",
            "media relay, recording, TURN/STUN credential management, or persistent chat storage",
            "storing SDP or ICE payloads in app_database@1"
          ],
          "dependencies": [],
          "compatibility": {
            "contracts": [
              "Aqteron PWA v1"
            ],
            "requires": [],
            "conflicts": []
          },
          "runtime": {
            "adapterId": null
          },
          "availability": {
            "instructionStatus": "draft",
            "registryStatus": "draft",
            "runtimeStatus": "prepared_unwired",
            "builderSelectable": false,
            "instructionVisible": true,
            "entitlementAuthority": "aqteron_validator_runtime",
            "notSelectableReason": "Prepared contract only; active production runtime is not wired as a Builder-usable capability."
          }
        },
        "selfCheckMetadata": {
          "schemaVersion": "aqteron.builder.module_self_check.v1",
          "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
          "moduleKind": "capability",
          "required": true,
          "appliesWhenSelected": true,
          "sourceHeading": "Module self-check",
          "checks": [
            {
              "id": "declared_when_helper_used",
              "text": "the capability is declared if signaling helper is used"
            },
            {
              "id": "signaling_not_database_persisted",
              "text": "signaling data is not persisted in `app_database@1`"
            },
            {
              "id": "no_custom_signaling_route",
              "text": "no private/custom signaling server route is invented"
            },
            {
              "id": "bounded_payload_and_ttl",
              "text": "payload size and TTL are bounded"
            },
            {
              "id": "p2p_media_boundary",
              "text": "audio/video is peer-to-peer and not falsely described as Aqteron media relay"
            },
            {
              "id": "no_unsupported_turn_promise",
              "text": "TURN availability is not promised unless a supported TURN capability exists"
            },
            {
              "id": "visible_failure_states",
              "text": "call failure and unsupported-environment states are shown to the user"
            }
          ]
        }
      },
      "createdAt": "2026-09-15T11:38:02.657Z",
      "updatedAt": "2026-09-15T11:38:02.657Z"
    }
  ]
}