{
  "entrypoint": {
    "entrypointKey": "app-generation",
    "instructionSetId": "aqteron.app-generation",
    "instructionReleaseId": "aqteron.app-generation@0.2.4-rc.1",
    "updatedAt": "2026-08-10T05:50:39.618Z",
    "updatedBy": "staging-setup",
    "reason": "initial start-stage Builder release"
  },
  "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.4\",\"contract\":\"Aqteron PWA v1\",\"runtimeSourceOfTruth\":\"aqteron_server_database\",\"repositoryRole\":\"development_seed_export_snapshot\",\"registryMode\":\"database_discovery\",\"architecture\":\"SERVER_INSTRUCTION_ARCHITECTURE.md\",\"bootstrapDraft\":\"BOOTSTRAP.md\",\"sourcePath\":\"instruction-set.json\"}",
    "metadata": {
      "status": "draft",
      "version": "0.2.4",
      "contract": "Aqteron PWA v1",
      "runtimeSourceOfTruth": "aqteron_server_database",
      "repositoryRole": "development_seed_export_snapshot",
      "registryMode": "database_discovery",
      "architecture": "SERVER_INSTRUCTION_ARCHITECTURE.md",
      "bootstrapDraft": "BOOTSTRAP.md",
      "sourcePath": "instruction-set.json"
    },
    "createdAt": "2026-08-09T00:00:00.000Z",
    "updatedAt": "2026-08-09T00:00:00.000Z"
  },
  "release": {
    "instructionReleaseId": "aqteron.app-generation@0.2.4-rc.1",
    "instructionSetId": "aqteron.app-generation",
    "releaseKey": "0.2.4-rc.1",
    "releaseStatus": "published",
    "metadataJson": "{\"taskId\":\"AQ-BUILDER-053\",\"releaseVersion\":\"0.2.4-rc.1\",\"immutableComposition\":true,\"active\":false,\"published\":false,\"instructionSet\":{\"id\":\"aqteron.app-generation\",\"key\":\"aqteron.app-generation\",\"version\":\"0.2.4\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"runtimeSourceOfTruth\":\"aqteron_server_database\"},\"modulePins\":[{\"instructionModuleId\":\"aqteron.builder.core\",\"moduleKey\":\"aqteron.builder.core\",\"moduleKind\":\"core\",\"sourcePath\":\"BUILDER_CORE.md\",\"instructionModuleVersionId\":\"aqteron.builder.core@0.2.1\",\"versionLabel\":\"0.2.1\",\"contentSha256\":\"ac29931880330dca6e97e51a74202b3e1004def78bb1afa6b4473ffe99094e84\",\"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.3\",\"versionLabel\":\"0.1.3\",\"contentSha256\":\"7e760e8749eb93086dd4112b71987d37f0040f6227a0748bd5c2889e4b380086\",\"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\":\"bounded_list_limit\",\"text\":\"every `list` call has an explicit numeric limit from 1 to 100\"},{\"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.1.3\",\"versionLabel\":\"0.1.3\",\"contentSha256\":\"0486c90d2b3c60ee5e50f1d63d9ba661c91f3f70c0e6950a24775f2026cc0ce9\",\"status\":\"draft\",\"contract\":\"Aqteron PWA v1\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Private managed file storage for linked users and applications.\",\"userNeeds\":[\"store user files, attachments, images, documents, imports, or exports\",\"keep private application-scoped files in managed storage\",\"associate files with app workflows\"],\"selectionSignals\":[\"binary or document storage is required\",\"files must persist outside local browser storage\",\"workflow references uploaded or generated files\"],\"exclusions\":[\"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\":\"draft\",\"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 `window.Prompt2App.appFiles` is used\"},{\"id\":\"account_linking_checked\",\"text\":\"account linking is user-initiated and checked before operations\"},{\"id\":\"used_buckets_declared_private\",\"text\":\"every used bucket is declared and private\"},{\"id\":\"bounded_mime_and_quota\",\"text\":\"MIME types and quotas are bounded\"},{\"id\":\"no_invented_storage_urls\",\"text\":\"no public/presigned/storage URLs or filesystem paths are invented\"},{\"id\":\"no_unsupported_sharing\",\"text\":\"no unsupported sharing behavior is promised\"},{\"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.3\",\"versionLabel\":\"0.1.3\",\"contentSha256\":\"f319148eeb800e8b5b926ac29bfdecaf940b37de217a678d095956ef7d872c14\",\"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\":\"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.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\",\"registryStatus\":\"disabled\",\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"instructionModuleId\":null,\"instructionModuleVersionId\":null},{\"capabilityKey\":\"app_database@1\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"instructionModuleId\":\"aqteron.capability.app_database@1\",\"instructionModuleVersionId\":\"aqteron.capability.app_database@1@0.1.3\"},{\"capabilityKey\":\"app_files@1\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"instructionModuleId\":\"aqteron.capability.app_files@1\",\"instructionModuleVersionId\":\"aqteron.capability.app_files@1@0.1.3\"},{\"capabilityKey\":\"app_secrets@1\",\"registryStatus\":\"disabled\",\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"instructionModuleId\":null,\"instructionModuleVersionId\":null},{\"capabilityKey\":\"app_users@1\",\"registryStatus\":\"disabled\",\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"instructionModuleId\":null,\"instructionModuleVersionId\":null},{\"capabilityKey\":\"external_api_proxy@1\",\"registryStatus\":\"disabled\",\"runtimeStatus\":\"disabled_scaffold\",\"builderSelectable\":false,\"instructionVisible\":false,\"instructionModuleId\":null,\"instructionModuleVersionId\":null},{\"capabilityKey\":\"push_notifications@1\",\"registryStatus\":\"available\",\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"instructionModuleId\":\"aqteron.capability.push_notifications@1\",\"instructionModuleVersionId\":\"aqteron.capability.push_notifications@1@0.1.3\"},{\"capabilityKey\":\"web_parser@1\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"instructionModuleId\":\"aqteron.capability.web_parser@1\",\"instructionModuleVersionId\":\"aqteron.capability.web_parser@1@0.1.3\"},{\"capabilityKey\":\"webrtc_signaling@1\",\"registryStatus\":\"draft\",\"runtimeStatus\":\"prepared_unwired\",\"builderSelectable\":false,\"instructionVisible\":true,\"instructionModuleId\":\"aqteron.capability.webrtc_signaling@1\",\"instructionModuleVersionId\":\"aqteron.capability.webrtc_signaling@1@0.1.3\"}]}",
    "metadata": {
      "taskId": "AQ-BUILDER-053",
      "releaseVersion": "0.2.4-rc.1",
      "immutableComposition": true,
      "active": false,
      "published": false,
      "instructionSet": {
        "id": "aqteron.app-generation",
        "key": "aqteron.app-generation",
        "version": "0.2.4",
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "runtimeSourceOfTruth": "aqteron_server_database"
      },
      "modulePins": [
        {
          "instructionModuleId": "aqteron.builder.core",
          "moduleKey": "aqteron.builder.core",
          "moduleKind": "core",
          "sourcePath": "BUILDER_CORE.md",
          "instructionModuleVersionId": "aqteron.builder.core@0.2.1",
          "versionLabel": "0.2.1",
          "contentSha256": "ac29931880330dca6e97e51a74202b3e1004def78bb1afa6b4473ffe99094e84",
          "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.3",
          "versionLabel": "0.1.3",
          "contentSha256": "7e760e8749eb93086dd4112b71987d37f0040f6227a0748bd5c2889e4b380086",
          "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": "bounded_list_limit",
                "text": "every `list` call has an explicit numeric limit from 1 to 100"
              },
              {
                "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.1.3",
          "versionLabel": "0.1.3",
          "contentSha256": "0486c90d2b3c60ee5e50f1d63d9ba661c91f3f70c0e6950a24775f2026cc0ce9",
          "status": "draft",
          "contract": "Aqteron PWA v1",
          "selectionMetadata": {
            "schemaVersion": "aqteron.builder.selection_metadata.v1",
            "summary": "Private managed file storage for linked users and applications.",
            "userNeeds": [
              "store user files, attachments, images, documents, imports, or exports",
              "keep private application-scoped files in managed storage",
              "associate files with app workflows"
            ],
            "selectionSignals": [
              "binary or document storage is required",
              "files must persist outside local browser storage",
              "workflow references uploaded or generated files"
            ],
            "exclusions": [
              "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": "draft",
              "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 `window.Prompt2App.appFiles` is used"
              },
              {
                "id": "account_linking_checked",
                "text": "account linking is user-initiated and checked before operations"
              },
              {
                "id": "used_buckets_declared_private",
                "text": "every used bucket is declared and private"
              },
              {
                "id": "bounded_mime_and_quota",
                "text": "MIME types and quotas are bounded"
              },
              {
                "id": "no_invented_storage_urls",
                "text": "no public/presigned/storage URLs or filesystem paths are invented"
              },
              {
                "id": "no_unsupported_sharing",
                "text": "no unsupported sharing behavior is promised"
              },
              {
                "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.3",
          "versionLabel": "0.1.3",
          "contentSha256": "f319148eeb800e8b5b926ac29bfdecaf940b37de217a678d095956ef7d872c14",
          "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": "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.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",
          "registryStatus": "disabled",
          "runtimeStatus": "disabled_scaffold",
          "builderSelectable": false,
          "instructionVisible": false,
          "instructionModuleId": null,
          "instructionModuleVersionId": null
        },
        {
          "capabilityKey": "app_database@1",
          "registryStatus": "available",
          "runtimeStatus": "runtime_available",
          "builderSelectable": true,
          "instructionVisible": true,
          "instructionModuleId": "aqteron.capability.app_database@1",
          "instructionModuleVersionId": "aqteron.capability.app_database@1@0.1.3"
        },
        {
          "capabilityKey": "app_files@1",
          "registryStatus": "available",
          "runtimeStatus": "runtime_available",
          "builderSelectable": true,
          "instructionVisible": true,
          "instructionModuleId": "aqteron.capability.app_files@1",
          "instructionModuleVersionId": "aqteron.capability.app_files@1@0.1.3"
        },
        {
          "capabilityKey": "app_secrets@1",
          "registryStatus": "disabled",
          "runtimeStatus": "disabled_scaffold",
          "builderSelectable": false,
          "instructionVisible": false,
          "instructionModuleId": null,
          "instructionModuleVersionId": null
        },
        {
          "capabilityKey": "app_users@1",
          "registryStatus": "disabled",
          "runtimeStatus": "disabled_scaffold",
          "builderSelectable": false,
          "instructionVisible": false,
          "instructionModuleId": null,
          "instructionModuleVersionId": null
        },
        {
          "capabilityKey": "external_api_proxy@1",
          "registryStatus": "disabled",
          "runtimeStatus": "disabled_scaffold",
          "builderSelectable": false,
          "instructionVisible": false,
          "instructionModuleId": null,
          "instructionModuleVersionId": null
        },
        {
          "capabilityKey": "push_notifications@1",
          "registryStatus": "available",
          "runtimeStatus": "runtime_available",
          "builderSelectable": true,
          "instructionVisible": true,
          "instructionModuleId": "aqteron.capability.push_notifications@1",
          "instructionModuleVersionId": "aqteron.capability.push_notifications@1@0.1.3"
        },
        {
          "capabilityKey": "web_parser@1",
          "registryStatus": "draft",
          "runtimeStatus": "prepared_unwired",
          "builderSelectable": false,
          "instructionVisible": true,
          "instructionModuleId": "aqteron.capability.web_parser@1",
          "instructionModuleVersionId": "aqteron.capability.web_parser@1@0.1.3"
        },
        {
          "capabilityKey": "webrtc_signaling@1",
          "registryStatus": "draft",
          "runtimeStatus": "prepared_unwired",
          "builderSelectable": false,
          "instructionVisible": true,
          "instructionModuleId": "aqteron.capability.webrtc_signaling@1",
          "instructionModuleVersionId": "aqteron.capability.webrtc_signaling@1@0.1.3"
        }
      ]
    },
    "createdAt": "2026-08-09T00:00:01.000Z",
    "createdBy": "aq-builder-053-self-check"
  },
  "modulePins": [
    {
      "instructionModuleId": "aqteron.builder.core",
      "instructionModuleVersionId": "aqteron.builder.core@0.2.1",
      "moduleKey": "aqteron.builder.core",
      "moduleKind": "core",
      "displayName": "Aqteron Builder Core",
      "description": "",
      "sourcePath": "BUILDER_CORE.md",
      "versionLabel": "0.2.1",
      "contentSha256": "ac29931880330dca6e97e51a74202b3e1004def78bb1afa6b4473ffe99094e84",
      "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.2"
        },
        "dependencies": []
      },
      "pinnedAt": "2026-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "instructionModuleId": "aqteron.capability.app_database@1",
      "instructionModuleVersionId": "aqteron.capability.app_database@1@0.1.3",
      "moduleKey": "aqteron.capability.app_database@1",
      "moduleKind": "capability",
      "displayName": "Aqteron Capability: app_database@1",
      "description": "",
      "sourcePath": "capabilities/APP_DATABASE.md",
      "versionLabel": "0.1.3",
      "contentSha256": "7e760e8749eb93086dd4112b71987d37f0040f6227a0748bd5c2889e4b380086",
      "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.2"
        },
        "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": "bounded_list_limit",
              "text": "every `list` call has an explicit numeric limit from 1 to 100"
            },
            {
              "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "instructionModuleId": "aqteron.capability.app_files@1",
      "instructionModuleVersionId": "aqteron.capability.app_files@1@0.1.3",
      "moduleKey": "aqteron.capability.app_files@1",
      "moduleKind": "capability",
      "displayName": "Aqteron Capability: app_files@1",
      "description": "",
      "sourcePath": "capabilities/APP_FILES.md",
      "versionLabel": "0.1.3",
      "contentSha256": "0486c90d2b3c60ee5e50f1d63d9ba661c91f3f70c0e6950a24775f2026cc0ce9",
      "moduleMetadata": {
        "sourcePath": "capabilities/APP_FILES.md",
        "instructionId": "aqteron.capability.app_files@1"
      },
      "versionMetadata": {
        "status": "draft",
        "contract": "Aqteron PWA v1",
        "sourcePath": "capabilities/APP_FILES.md",
        "instructionSet": {
          "id": "aqteron.app-generation",
          "version": "0.2.2"
        },
        "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": "Private managed file storage for linked users and applications.",
          "userNeeds": [
            "store user files, attachments, images, documents, imports, or exports",
            "keep private application-scoped files in managed storage",
            "associate files with app workflows"
          ],
          "selectionSignals": [
            "binary or document storage is required",
            "files must persist outside local browser storage",
            "workflow references uploaded or generated files"
          ],
          "exclusions": [
            "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": "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_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 `window.Prompt2App.appFiles` is used"
            },
            {
              "id": "account_linking_checked",
              "text": "account linking is user-initiated and checked before operations"
            },
            {
              "id": "used_buckets_declared_private",
              "text": "every used bucket is declared and private"
            },
            {
              "id": "bounded_mime_and_quota",
              "text": "MIME types and quotas are bounded"
            },
            {
              "id": "no_invented_storage_urls",
              "text": "no public/presigned/storage URLs or filesystem paths are invented"
            },
            {
              "id": "no_unsupported_sharing",
              "text": "no unsupported sharing behavior is promised"
            },
            {
              "id": "visible_errors",
              "text": "errors are visible and do not falsely report successful storage"
            }
          ]
        }
      },
      "pinnedAt": "2026-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "instructionModuleId": "aqteron.capability.push_notifications@1",
      "instructionModuleVersionId": "aqteron.capability.push_notifications@1@0.1.3",
      "moduleKey": "aqteron.capability.push_notifications@1",
      "moduleKind": "capability",
      "displayName": "Aqteron Capability: push_notifications@1",
      "description": "",
      "sourcePath": "capabilities/PUSH_NOTIFICATIONS.md",
      "versionLabel": "0.1.3",
      "contentSha256": "f319148eeb800e8b5b926ac29bfdecaf940b37de217a678d095956ef7d872c14",
      "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.2"
        },
        "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": "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    },
    {
      "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-08-09T00:00:01.000Z",
      "pinnedBy": "aq-builder-053-self-check"
    }
  ],
  "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\",\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"}",
      "metadata": {
        "runtimeStatus": "disabled_scaffold",
        "builderSelectable": false,
        "instructionVisible": false,
        "entitlementAuthority": "aqteron_validator_runtime",
        "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
      },
      "createdAt": "2026-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    },
    {
      "capabilityKey": "app_database@1",
      "instructionModuleId": "aqteron.capability.app_database@1",
      "instructionModuleVersionId": "aqteron.capability.app_database@1@0.1.3",
      "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\",\"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\":\"bounded_list_limit\",\"text\":\"every `list` call has an explicit numeric limit from 1 to 100\"},{\"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",
        "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": "bounded_list_limit",
              "text": "every `list` call has an explicit numeric limit from 1 to 100"
            },
            {
              "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-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    },
    {
      "capabilityKey": "app_files@1",
      "instructionModuleId": "aqteron.capability.app_files@1",
      "instructionModuleVersionId": "aqteron.capability.app_files@1@0.1.3",
      "registryStatus": "available",
      "displayName": "App Files",
      "summary": "Private managed file storage for linked users and applications.",
      "metadataJson": "{\"runtimeStatus\":\"runtime_available\",\"builderSelectable\":true,\"instructionVisible\":true,\"entitlementAuthority\":\"aqteron_validator_runtime\",\"sourcePath\":\"capabilities/APP_FILES.md\",\"selectionMetadata\":{\"schemaVersion\":\"aqteron.builder.selection_metadata.v1\",\"summary\":\"Private managed file storage for linked users and applications.\",\"userNeeds\":[\"store user files, attachments, images, documents, imports, or exports\",\"keep private application-scoped files in managed storage\",\"associate files with app workflows\"],\"selectionSignals\":[\"binary or document storage is required\",\"files must persist outside local browser storage\",\"workflow references uploaded or generated files\"],\"exclusions\":[\"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\":\"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_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 `window.Prompt2App.appFiles` is used\"},{\"id\":\"account_linking_checked\",\"text\":\"account linking is user-initiated and checked before operations\"},{\"id\":\"used_buckets_declared_private\",\"text\":\"every used bucket is declared and private\"},{\"id\":\"bounded_mime_and_quota\",\"text\":\"MIME types and quotas are bounded\"},{\"id\":\"no_invented_storage_urls\",\"text\":\"no public/presigned/storage URLs or filesystem paths are invented\"},{\"id\":\"no_unsupported_sharing\",\"text\":\"no unsupported sharing behavior is promised\"},{\"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",
        "sourcePath": "capabilities/APP_FILES.md",
        "selectionMetadata": {
          "schemaVersion": "aqteron.builder.selection_metadata.v1",
          "summary": "Private managed file storage for linked users and applications.",
          "userNeeds": [
            "store user files, attachments, images, documents, imports, or exports",
            "keep private application-scoped files in managed storage",
            "associate files with app workflows"
          ],
          "selectionSignals": [
            "binary or document storage is required",
            "files must persist outside local browser storage",
            "workflow references uploaded or generated files"
          ],
          "exclusions": [
            "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": "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_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 `window.Prompt2App.appFiles` is used"
            },
            {
              "id": "account_linking_checked",
              "text": "account linking is user-initiated and checked before operations"
            },
            {
              "id": "used_buckets_declared_private",
              "text": "every used bucket is declared and private"
            },
            {
              "id": "bounded_mime_and_quota",
              "text": "MIME types and quotas are bounded"
            },
            {
              "id": "no_invented_storage_urls",
              "text": "no public/presigned/storage URLs or filesystem paths are invented"
            },
            {
              "id": "no_unsupported_sharing",
              "text": "no unsupported sharing behavior is promised"
            },
            {
              "id": "visible_errors",
              "text": "errors are visible and do not falsely report successful storage"
            }
          ]
        }
      },
      "createdAt": "2026-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    },
    {
      "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\",\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"}",
      "metadata": {
        "runtimeStatus": "disabled_scaffold",
        "builderSelectable": false,
        "instructionVisible": false,
        "entitlementAuthority": "aqteron_validator_runtime",
        "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
      },
      "createdAt": "2026-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    },
    {
      "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\",\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"}",
      "metadata": {
        "runtimeStatus": "disabled_scaffold",
        "builderSelectable": false,
        "instructionVisible": false,
        "entitlementAuthority": "aqteron_validator_runtime",
        "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
      },
      "createdAt": "2026-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    },
    {
      "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\",\"notSelectableReason\":\"Disabled scaffold capability; unavailable in current production.\"}",
      "metadata": {
        "runtimeStatus": "disabled_scaffold",
        "builderSelectable": false,
        "instructionVisible": false,
        "entitlementAuthority": "aqteron_validator_runtime",
        "notSelectableReason": "Disabled scaffold capability; unavailable in current production."
      },
      "createdAt": "2026-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    },
    {
      "capabilityKey": "push_notifications@1",
      "instructionModuleId": "aqteron.capability.push_notifications@1",
      "instructionModuleVersionId": "aqteron.capability.push_notifications@1@0.1.3",
      "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\",\"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\":\"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",
        "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": "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-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    },
    {
      "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\",\"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",
        "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-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    },
    {
      "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\",\"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",
        "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-08-09T00:00:00.000Z",
      "updatedAt": "2026-08-09T00:00:00.000Z"
    }
  ]
}