{
  "contractVersion": "tasq.public-site-truth.v1",
  "sourceUpdatedAt": "2026-08-20",
  "definition": "Local-first commitment coordination for humans, agents and their runtimes.",
  "release": {
    "status": "published-alpha",
    "published": true,
    "installAction": "install_release",
    "website": "https://tasq.run",
    "repository": "https://github.com/gwendall/tasq",
    "repositoryState": "public-alpha-source",
    "cliBinary": "tasq",
    "npmScope": "@tasq-run",
    "license": "Apache-2.0",
    "contributionTerms": "DCO-1.1",
    "publicPackages": [
      "@tasq-run/schema",
      "@tasq-run/core",
      "@tasq-run/cli",
      "@tasq-run/mcp",
      "@tasq-run/extension-sdk",
      "@tasq-run/protocol-adapters",
      "@tasq-run/console",
      "@tasq-run/client"
    ],
    "candidateTargets": [
      "darwin-arm64",
      "linux-x64-gnu"
    ],
    "gates": {
      "maintainer_public_alpha_authorization": true,
      "data_safety_source_candidate": true,
      "data_safety_published_byte_replay": true,
      "private_multi_app_dogfood_accepted": false,
      "canonical_repository_control_verified": true,
      "public_source_launch_authorized": true,
      "npm_scope_control_verified": true,
      "trusted_publishing_configured": true,
      "tag_protection_configured": true,
      "license_and_third_party_notice_closure_verified": true,
      "candidate_targets_clean_room_certified": true,
      "agent_integration_candidate_certified": true
    },
    "version": "0.6.8",
    "tag": "v0.6.8",
    "sourceCommit": "9e05c906af9ded3cce24859775585d0cf90907ea",
    "githubRelease": "https://github.com/gwendall/tasq/releases/tag/v0.6.8"
  },
  "productShapes": [
    {
      "id": "core",
      "support": "implemented_integration_required",
      "entrypoints": [
        "embedded_typescript",
        "extension_sdk",
        "protocol_adapters",
        "replication_kernel"
      ],
      "consumers": [
        "typescript_application",
        "runtime_integrator",
        "extension_author",
        "connector_author"
      ],
      "publiclyDistributed": true
    },
    {
      "id": "local",
      "support": "implemented_certified",
      "entrypoints": [
        "cli_json",
        "mcp_stdio",
        "local_console",
        "markdown_projection"
      ],
      "consumers": [
        "local_shell_agent",
        "local_mcp_agent",
        "human_local_user",
        "human_operator"
      ],
      "publiclyDistributed": true
    },
    {
      "id": "server",
      "support": "implemented_certified",
      "entrypoints": [
        "server_daemon",
        "rest",
        "remote_mcp",
        "remote_enrollment",
        "hosted_console"
      ],
      "consumers": [
        "remote_agent",
        "remote_human",
        "self_host_operator"
      ],
      "publiclyDistributed": true
    },
    {
      "id": "cloud",
      "support": "implemented_candidate_not_published",
      "entrypoints": [
        "cloud_control_plane",
        "cloud_bff"
      ],
      "consumers": [
        "multi_user_team",
        "managed_service_operator"
      ],
      "publiclyDistributed": false
    }
  ],
  "surfaces": [
    {
      "id": "cli_json",
      "support": "implemented_certified",
      "transport": "local_process",
      "entrypoint": "tasq onboard --space <id> --actor <label> --json",
      "mutations": true,
      "authorityBoundary": "local_process_self_asserted"
    },
    {
      "id": "mcp_stdio",
      "support": "implemented_local_only",
      "transport": "stdio",
      "entrypoint": "tasq mcp --space <id> --actor <label> --capabilities <set>",
      "mutations": true,
      "authorityBoundary": "host_bound_capabilities"
    },
    {
      "id": "embedded_typescript",
      "support": "implemented_integration_required",
      "transport": "in_process",
      "entrypoint": "@tasq-run/core@0.4.0 createLocalTasq({ url, workspaceId, actor, clock })",
      "mutations": true,
      "authorityBoundary": "integrator_owned"
    },
    {
      "id": "local_console",
      "support": "implemented_local_only",
      "transport": "loopback_http",
      "entrypoint": "tasq web --space <id>; tasq web status --space <id> --json",
      "mutations": false,
      "authorityBoundary": "unauthenticated_loopback_read_only_foreground_proof_of_life"
    },
    {
      "id": "markdown_projection",
      "support": "implemented_local_only",
      "transport": "filesystem_projection",
      "entrypoint": "tasq projection",
      "mutations": false,
      "authorityBoundary": "read_only_projection"
    },
    {
      "id": "extension_sdk",
      "support": "implemented_integration_required",
      "transport": "in_process",
      "entrypoint": "@tasq-run/extension-sdk",
      "mutations": false,
      "authorityBoundary": "trusted_runtime_code_no_provider_authority"
    },
    {
      "id": "protocol_adapters",
      "support": "implemented_integration_required",
      "transport": "in_process",
      "entrypoint": "@tasq-run/protocol-adapters",
      "mutations": true,
      "authorityBoundary": "no_completion_authority"
    },
    {
      "id": "reference_connectors",
      "support": "reference_only",
      "transport": "in_process_https_adapter",
      "entrypoint": "@tasq-internal/reference-connectors",
      "mutations": true,
      "authorityBoundary": "permit_and_receipt_required"
    },
    {
      "id": "bounded_attention_webhook",
      "support": "implemented_integration_required",
      "transport": "signed_pinned_https_batch",
      "entrypoint": "@tasq-internal/webhook-notifier planAttention and deliverAttentionPlan",
      "mutations": false,
      "authorityBoundary": "explicit_digest_bound_policy_dnd_always_wins_external_quality_evaluator"
    },
    {
      "id": "replication_kernel",
      "support": "implemented_integration_required",
      "transport": "integrator_supplied",
      "entrypoint": "@tasq-run/core replication APIs",
      "mutations": true,
      "authorityBoundary": "one_authority_per_workspace_epoch"
    },
    {
      "id": "authenticated_offline_replication",
      "support": "implemented_certified",
      "transport": "guarded_server_operations_plus_integrator_transport",
      "entrypoint": "Tasq Server replication.enroll|push|pull",
      "mutations": true,
      "authorityBoundary": "replica_generation_bound_to_authenticated_principal_plus_one_signed_origin_per_operation_live_authority_excluded"
    },
    {
      "id": "signed_statements",
      "support": "implemented_certified",
      "transport": "in_process_and_guarded_server_operation_composition",
      "entrypoint": "@tasq-run/core signed statement services; @tasq-internal/server signing credential authority",
      "mutations": true,
      "authorityBoundary": "configured_trust_root_exact_purpose_digest_principal_credential_lifecycle_signature_never_grants_truth_or_effect_authority"
    },
    {
      "id": "public_site",
      "support": "implemented_certified",
      "transport": "public_https_static_files",
      "entrypoint": "https://tasq.run; /product-truth.json; /adopt.json; /SKILL.md; /agents/; /llms.txt; /integration.json",
      "mutations": false,
      "authorityBoundary": "versioned_repository_truth_no_ledger_access"
    },
    {
      "id": "server_daemon",
      "support": "implemented_certified",
      "transport": "http_behind_required_https_reverse_proxy",
      "entrypoint": "bun packages/tasq-server/src/daemon.ts serve --config /absolute/server.json; deploy/server/Dockerfile",
      "mutations": true,
      "authorityBoundary": "concrete_rs256_or_opaque_credential_then_live_adr_004_guard"
    },
    {
      "id": "rest",
      "support": "implemented_certified",
      "transport": "authenticated_https_request_response",
      "entrypoint": "Tasq Server /v1/workspaces/{workspace}/...",
      "mutations": true,
      "authorityBoundary": "host_verified_identity_plus_live_adr_004_guard"
    },
    {
      "id": "remote_mcp",
      "support": "implemented_certified",
      "transport": "streamable_http",
      "entrypoint": "@tasq-internal/server createHostedMcpHandler",
      "mutations": true,
      "authorityBoundary": "host_verified_identity_plus_live_adr_004_guard_on_every_tool_call"
    },
    {
      "id": "remote_typescript",
      "support": "implemented_certified",
      "transport": "authenticated_https_fetch",
      "entrypoint": "@tasq-run/client createRemoteTasq({ endpoint, workspaceId, accessToken })",
      "mutations": true,
      "authorityBoundary": "explicit_credential_plus_live_server_guard_no_client_authority_cache"
    },
    {
      "id": "remote_cli",
      "support": "implemented_certified",
      "transport": "authenticated_https_cli",
      "entrypoint": "tasq remote enroll|status|list|show|events|operations|call|logout",
      "mutations": true,
      "authorityBoundary": "private_named_profile_plus_live_server_guard_actor_text_never_authenticates"
    },
    {
      "id": "remote_python",
      "support": "implemented_certified",
      "transport": "authenticated_https_standard_library",
      "entrypoint": "clients/python tasq_remote.TasqRemoteClient",
      "mutations": true,
      "authorityBoundary": "explicit_credential_plus_live_server_guard_no_kernel_database_or_authority_cache"
    },
    {
      "id": "remote_enrollment",
      "support": "implemented_certified",
      "transport": "one_use_https_bootstrap",
      "entrypoint": "@tasq-internal/server createRemoteEnrollmentAuthority; createRemoteEnrollmentHandler",
      "mutations": true,
      "authorityBoundary": "preprovisioned_principal_binding_and_actions_atomic_digest_only_credential_issue"
    },
    {
      "id": "hosted_console",
      "support": "implemented_certified",
      "transport": "https_bff",
      "entrypoint": "Tasq Server /console",
      "mutations": true,
      "authorityBoundary": "secure_httponly_same_site_cookie_plus_exact_origin_then_every_bounded_human_action_reverified_through_guarded_rest_bff"
    },
    {
      "id": "cloud_control_plane",
      "support": "implemented_candidate_not_published",
      "transport": "provider_neutral_private_service_experiment",
      "entrypoint": "@tasq-internal/cloud-control-plane CloudControlPlane; experimental https://control.tasq.run",
      "mutations": true,
      "authorityBoundary": "host_authorized_tenant_scoped_audited_operations_opaque_provider_references_only"
    },
    {
      "id": "cloud_bff",
      "support": "implemented_candidate_not_published",
      "transport": "same_origin_https_bff_experiment",
      "entrypoint": "@tasq-internal/cloud-control-plane createCloudBff; experimental https://control.tasq.run",
      "mutations": true,
      "authorityBoundary": "httponly_tenant_device_session_exact_origin_csrf_live_server_guard_remote_effects_denied"
    },
    {
      "id": "physical_verification_profile",
      "support": "reference_only",
      "transport": "private_in_process_source",
      "entrypoint": "@tasq-internal/physical-verification-profile compileDelegatedActionOrder",
      "mutations": false,
      "authorityBoundary": "compiler_only_integrator_supplies_identity_site_permission_provider_connector_and_live_effect_authority"
    }
  ],
  "consumers": [
    {
      "id": "local_shell_agent",
      "supportedSurfaces": [
        "cli_json"
      ],
      "irreducibleInputs": [
        "tasq_executable",
        "workspace_id",
        "actor_label",
        "capabilities",
        "task_intent"
      ]
    },
    {
      "id": "local_mcp_agent",
      "supportedSurfaces": [
        "mcp_stdio"
      ],
      "irreducibleInputs": [
        "mcp_host",
        "host_injected_workspace",
        "host_injected_actor",
        "host_selected_capabilities"
      ]
    },
    {
      "id": "human_local_user",
      "supportedSurfaces": [
        "cli_json",
        "local_console",
        "markdown_projection"
      ],
      "irreducibleInputs": [
        "tasq_installation",
        "workspace_id"
      ]
    },
    {
      "id": "human_operator",
      "supportedSurfaces": [
        "cli_json",
        "local_console"
      ],
      "irreducibleInputs": [
        "local_store_access",
        "workspace_id"
      ]
    },
    {
      "id": "typescript_application",
      "supportedSurfaces": [
        "embedded_typescript"
      ],
      "irreducibleInputs": [
        "store",
        "workspace_id",
        "identity",
        "clock"
      ]
    },
    {
      "id": "runtime_integrator",
      "supportedSurfaces": [
        "embedded_typescript",
        "protocol_adapters",
        "mcp_stdio",
        "rest"
      ],
      "irreducibleInputs": [
        "runtime_identity_mapping",
        "stable_execution_id",
        "stable_context_id",
        "external_reference_mapping",
        "completion_authority_none",
        "store",
        "clock",
        "credential_verifier_for_rest"
      ]
    },
    {
      "id": "extension_author",
      "supportedSurfaces": [
        "extension_sdk",
        "embedded_typescript"
      ],
      "irreducibleInputs": [
        "immutable_manifest_identity",
        "runtime_binding",
        "clock"
      ]
    },
    {
      "id": "connector_author",
      "supportedSurfaces": [
        "extension_sdk",
        "reference_connectors",
        "embedded_typescript"
      ],
      "irreducibleInputs": [
        "provider_binding",
        "credential_resolver",
        "clock",
        "receipt_verifier"
      ]
    },
    {
      "id": "prospective_adopter",
      "supportedSurfaces": [
        "public_site"
      ],
      "irreducibleInputs": [
        "public_site_url_or_public_repository"
      ]
    },
    {
      "id": "remote_agent",
      "supportedSurfaces": [
        "remote_typescript",
        "remote_cli",
        "remote_mcp",
        "remote_python"
      ],
      "irreducibleInputs": [
        "integrator_supplied_server_endpoint",
        "workspace_id",
        "one_use_enrollment_or_access_credential"
      ]
    },
    {
      "id": "remote_human",
      "supportedSurfaces": [
        "hosted_console"
      ],
      "irreducibleInputs": [
        "hosted_authenticated_transport",
        "browser_session"
      ]
    },
    {
      "id": "self_host_operator",
      "supportedSurfaces": [
        "server_daemon"
      ],
      "irreducibleInputs": [
        "tasq_server_exact_digest_image",
        "https_domain",
        "identity_issuer",
        "public_jwk",
        "durable_volume"
      ]
    },
    {
      "id": "multi_user_team",
      "supportedSurfaces": [
        "cloud_bff"
      ],
      "irreducibleInputs": [
        "managed_tenant",
        "authenticated_clients"
      ]
    },
    {
      "id": "managed_service_operator",
      "supportedSurfaces": [
        "cloud_control_plane"
      ],
      "irreducibleInputs": [
        "tasq_cloud_control_plane"
      ]
    },
    {
      "id": "delegated_action_integrator",
      "supportedSurfaces": [
        "embedded_typescript",
        "extension_sdk",
        "physical_verification_profile"
      ],
      "irreducibleInputs": [
        "verified_identity",
        "external_authority",
        "site_access",
        "provider_supply",
        "connector_credentials",
        "independent_reviewer",
        "object_store",
        "jurisdiction_policy"
      ]
    }
  ],
  "journeys": [
    {
      "id": "local_agent_from_executable",
      "support": "implemented_certified",
      "steps": [
        "onboard",
        "bounded_read",
        "select_operation",
        "coordinate",
        "resume_cursor"
      ]
    },
    {
      "id": "public_install_to_first_agent",
      "support": "implemented_certified",
      "steps": [
        "discover_product",
        "install",
        "verify",
        "onboard",
        "connect_agent"
      ]
    },
    {
      "id": "generic_agent_from_public_pointer",
      "support": "implemented_certified",
      "steps": [
        "read_public_skill",
        "select_pinned_acquisition",
        "bind_explicit_rendezvous",
        "register_host_mcp",
        "onboard",
        "bounded_read"
      ]
    },
    {
      "id": "simple_human_first_run",
      "support": "implemented_certified",
      "steps": [
        "setup_explicit_space_and_actor",
        "add",
        "list",
        "done"
      ]
    },
    {
      "id": "human_local_monitoring",
      "support": "implemented_local_only",
      "steps": [
        "start_console",
        "inspect_attention",
        "filter_commitments",
        "inspect_graph",
        "page_large_ledger",
        "refresh"
      ]
    },
    {
      "id": "public_product_discovery",
      "support": "implemented_certified",
      "steps": [
        "visit_public_site",
        "choose_consumer_path",
        "inspect_support_truth",
        "read_adoption_manifest",
        "install_release"
      ]
    },
    {
      "id": "remote_multi_user_collaboration",
      "support": "implemented_certified",
      "steps": [
        "preprovision_identity_and_grant",
        "redeem_one_use_enrollment",
        "connect_cli_or_typescript_or_mcp",
        "coordinate_with_idempotency",
        "resume_exclusive_cursor",
        "revoke_live_authority"
      ]
    },
    {
      "id": "self_host_lifecycle",
      "support": "implemented_certified",
      "steps": [
        "install_server",
        "configure_identity",
        "backup",
        "upgrade",
        "restore"
      ]
    },
    {
      "id": "managed_cloud_lifecycle",
      "support": "implemented_candidate_not_published",
      "steps": [
        "create_tenant",
        "provision_isolated_workspace",
        "enroll_identity",
        "authenticate_same_origin",
        "export_or_backup",
        "rotate_credentials",
        "revoke_or_suspend",
        "restore_or_delete"
      ]
    },
    {
      "id": "physical_verification_reference",
      "support": "reference_only",
      "steps": [
        "compile_exact_order",
        "supply_external_permissions_and_identity",
        "agree_and_assign",
        "fenced_attempt",
        "capture_evidence",
        "independent_review",
        "settlement_or_recourse",
        "portable_export"
      ]
    },
    {
      "id": "local_mid_task_discovery_capture",
      "support": "implemented_candidate_not_published",
      "steps": [
        "retain_source_claim",
        "capture_bounded_context",
        "create_follow_up_atomically",
        "link_discovered_from",
        "resume_source_work"
      ]
    },
    {
      "id": "bounded_attempt_cost",
      "support": "implemented_candidate_not_published",
      "steps": [
        "configure_task_budget",
        "claim",
        "start_attempt",
        "record_external_meter_receipt",
        "aggregate_gross_cost",
        "refuse_or_release_at_bound"
      ]
    },
    {
      "id": "refutable_task_premise",
      "support": "implemented_candidate_not_published",
      "steps": [
        "ingest_observation",
        "atomic_task_and_premise_create",
        "propose_uphold_or_refute",
        "challenge",
        "independent_decision",
        "invalidate_without_delete"
      ]
    }
  ],
  "criticalTruths": [
    "tasq_is_not_only_a_cli",
    "cli_is_the_most_complete_current_composition",
    "from_scratch_starts_after_executable_or_transport_handoff",
    "same_workspace_text_does_not_bridge_isolated_stores",
    "published_local_mcp_is_stdio_while_published_server_remote_mcp_is_authenticated_streamable_http",
    "local_console_is_read_only_not_an_agent_api",
    "local_console_is_explicit_foreground_not_an_installed_daemon",
    "provenance_published_server_image_and_exact_digest_certification_ship_in_v0_4_0",
    "self_hosted_server_requires_operator_https_identity_and_durable_storage",
    "managed_cloud_has_a_private_experimental_deployment_but_is_not_an_available_managed_service",
    "canonical_source_repository_is_public_alpha",
    "public_package_bootstrap_identities_exist_under_a_non_default_prerelease_tag",
    "first_supported_public_alpha_release_is_published_with_oidc_provenance",
    "local_release_v0_1_0_is_published_and_multi_target_lifecycle_certified",
    "public_site_is_static_docs_not_console_or_agent_api",
    "public_site_is_deployed_at_tasq_run",
    "pre_executable_agent_adoption_is_machine_readable_and_fails_closed",
    "local_console_five_state_browser_matrix_is_certified_on_linux_and_macos",
    "hosted_authority_foundation_is_internal_and_does_not_implement_a_remote_surface",
    "hosted_authority_store_and_router_are_internal_and_do_not_implement_a_remote_surface",
    "hosted_read_rest_requires_a_host_verifier_listener_and_workspace_reader",
    "hosted_mutation_rest_requires_host_registered_operations_and_durable_workspace_idempotency",
    "remote_typescript_client_and_cli_ship_in_published_v0_4_0",
    "hosted_console_is_an_authenticated_guarded_bff_not_the_local_loopback_console",
    "server_effects_and_provider_connectors_are_disabled_and_absent_by_default",
    "one_use_enrollment_issues_only_preprovisioned_bounded_identity_and_stores_no_raw_token",
    "remote_clients_never_receive_database_credentials_or_cache_server_authority",
    "separate_authority_and_workspace_databases_are_serialized_not_falsely_claimed_as_cross_database_acid",
    "published_signed_statements_authenticate_exact_bytes_and_principal_but_never_truth_completion_or_effect_authority",
    "signed_statement_v0_4_0_artifacts_are_protected_downloaded_byte_certified_while_unbriefed_use_remains_open",
    "authenticated_offline_replication_never_extends_live_claim_lease_approval_or_effect_authority",
    "python_remote_client_0_4_0_is_published_to_pypi_and_exact_server_digest_certified",
    "managed_cloud_remote_effects_are_unconditionally_disabled_pending_independent_review",
    "physical_verification_profile_is_private_reference_only_and_supplies_no_worker_provider_access_identity_or_remote_effect",
    "mid_task_discovery_capture_is_local_explicit_non_blocking_and_not_yet_in_the_published_release",
    "attempt_cost_is_observed_from_explicit_meter_receipts_not_inferred_or_claimed_as_billing_truth",
    "premise_invalidation_withdraws_actionability_without_deleting_or_rewriting_the_commitment",
    "package_publication_requires_agent_integration_migration_hardening_maintainer_alpha_authorization_and_external_registry_control",
    "private_multi_app_dogfood_blocks_stable_graduation_not_labeled_public_alpha",
    "device_time_is_only_read_by_the_system_clock_adapter"
  ],
  "backlog": [
    {
      "id": "TQ-321",
      "status": "done",
      "milestone": "runtime-consumers",
      "outcome": "Let a zero-context Codex or Claude Code agent discover, install and use Tasq through native instructions, MCP where available and a CLI fallback without replacing the runtime's private scratchpad"
    },
    {
      "id": "TQ-608",
      "status": "done",
      "milestone": "public-distribution",
      "outcome": "Guarantee data-preserving upgrades with explicit schema compatibility ranges, verified pre-migration backups, fail-closed newer-schema handling, post-migration doctor checks and portable export"
    },
    {
      "id": "TQ-603",
      "status": "done",
      "milestone": "public-distribution",
      "outcome": "Publish seven packages and native artifacts from protected OIDC CI with attestations"
    },
    {
      "id": "TQ-604",
      "status": "done",
      "milestone": "public-distribution",
      "outcome": "Certify install, onboarding, contention, Console, backup, upgrade, restore and data-preserving uninstall from published bytes"
    },
    {
      "id": "TQ-701",
      "status": "done",
      "milestone": "local-console",
      "outcome": "Bounded canonical overview models for work, actors, coordination, effects, audit and health"
    },
    {
      "id": "TQ-702",
      "status": "done",
      "milestone": "local-console",
      "outcome": "Cursor-driven loopback SSE and bounded polling with reconnect, gap and backpressure semantics"
    },
    {
      "id": "TQ-703",
      "status": "done",
      "milestone": "local-console",
      "outcome": "Accessible responsive navigation, filters, timelines and previewable redacted support bundles"
    },
    {
      "id": "TQ-704",
      "status": "done",
      "milestone": "local-console",
      "outcome": "Console lifecycle works from installed Tasq Local without checkout-relative assets or hidden listeners"
    },
    {
      "id": "TQ-605",
      "status": "done",
      "milestone": "public-adoption",
      "outcome": "Next.js TypeScript Tailwind shadcn public product and docs app generated from versioned repository truth"
    },
    {
      "id": "TQ-609",
      "status": "done",
      "milestone": "public-adoption",
      "outcome": "Make every public command, example, product promise and Local limitation exact, executable and generated from current release truth"
    },
    {
      "id": "TQ-610",
      "status": "done",
      "milestone": "public-adoption",
      "outcome": "Provide verified try and persistent-install paths plus a stable generic-agent entrypoint, MCP host recipes and safe project rendezvous"
    },
    {
      "id": "TQ-611",
      "status": "done",
      "milestone": "embedded-sdk",
      "outcome": "Expose a real high-level local TypeScript client with explicit workspace, identity and clock plus an honestly certified Bun and Node runtime boundary"
    },
    {
      "id": "TQ-612",
      "status": "done",
      "milestone": "completion-validation",
      "outcome": "Separate evidence, completion proposals, validation decisions and final completion under versioned deterministic, attested, optimistic or adjudicated policies"
    },
    {
      "id": "TQ-606",
      "status": "candidate_done_external_gate",
      "milestone": "public-adoption",
      "outcome": "Blind human-plus-agent install, contention, recovery and same-ledger Console adoption gate"
    },
    {
      "id": "TQ-705",
      "status": "done",
      "milestone": "local-console",
      "outcome": "Real-browser empty, mature, hostile, corrupt and large-ledger operator certification"
    },
    {
      "id": "TQ-320",
      "status": "done",
      "milestone": "runtime-consumers",
      "outcome": "Certify interactive conversation and run consumers without moving machine, terminal or execution ownership into Core"
    },
    {
      "id": "TQ-801",
      "status": "done",
      "milestone": "self-hosted-server",
      "outcome": "Strict identity, subject binding, authorization decision and action registry"
    },
    {
      "id": "TQ-802",
      "status": "done",
      "milestone": "self-hosted-server",
      "outcome": "Subject bindings, grants, audit and isolated storage routing"
    },
    {
      "id": "TQ-803",
      "status": "done",
      "milestone": "self-hosted-server",
      "outcome": "Authenticated read-only REST, discovery and event metadata"
    },
    {
      "id": "TQ-804",
      "status": "done",
      "milestone": "self-hosted-server",
      "outcome": "Guarded mutation REST with idempotency, revocation and injected authority time"
    },
    {
      "id": "TQ-805",
      "status": "done",
      "milestone": "self-hosted-server",
      "outcome": "Remote MCP through the identical guard with REST capability parity"
    },
    {
      "id": "TQ-809",
      "status": "done",
      "milestone": "self-hosted-server",
      "outcome": "Remote CLI and TypeScript client with bounded enrollment, revocation, event resume and one central online Server authority"
    },
    {
      "id": "TQ-807",
      "status": "done",
      "milestone": "self-hosted-server",
      "outcome": "Deployable online server artifact with configuration, concrete credential verification, hosted Console BFF base (bounded guarded actions owned by TQ-811), health, backup, restore and upgrade contracts"
    },
    {
      "id": "TQ-808",
      "status": "candidate_done_external_gate",
      "milestone": "self-hosted-server",
      "outcome": "Multi-issuer, cross-workspace, revocation-race and clean-room self-host certification"
    },
    {
      "id": "TQ-811",
      "status": "done",
      "milestone": "hosted-human-loop",
      "outcome": "Add a deliberately small authenticated human action surface for create, claim, block, evidence, completion proposal and approval through the identical Server guard without turning Console into a second domain service"
    },
    {
      "id": "TQ-812",
      "status": "done",
      "milestone": "tracker-integration",
      "outcome": "Ship a GitHub Issues bridge with explicit field authority, immutable external references and typed issue, pull-request, check and deployment observations without implicit completion or unbounded bidirectional sync"
    },
    {
      "id": "TQ-813",
      "status": "done",
      "milestone": "attention-loop",
      "outcome": "Deliver bounded retry-safe attention notifications for assignment, blocking, expiring authority, recovery, validation and challenge through a generic webhook sink before provider-specific channels"
    },
    {
      "id": "TQ-613",
      "status": "done",
      "milestone": "signed-statements",
      "outcome": "Freeze a portable purpose-bound signed-statement payload, DSSE-style envelope, Ed25519 profile and cross-language canonical verification vectors"
    },
    {
      "id": "TQ-614",
      "status": "done",
      "milestone": "signed-statements",
      "outcome": "Implement authority-owned signing credential enrollment, isolation classes, rotation, suspension, revocation, compromise, retirement, recovery and constrained signer/verifier interfaces"
    },
    {
      "id": "TQ-615",
      "status": "done",
      "milestone": "signed-statements",
      "outcome": "Persist append-only statements and verification records and bind them explicitly to artifacts, completion resolution, effect approvals, replication operations and workspace checkpoints across Core, CLI, MCP, Console and portable data"
    },
    {
      "id": "TQ-616",
      "status": "candidate_done_external_gate",
      "milestone": "signed-statements",
      "outcome": "Pass hostile cross-surface, cross-language, revocation-race, migration, restore and protected published-byte certification without treating signatures as truth or authority"
    },
    {
      "id": "TQ-806",
      "status": "done",
      "milestone": "self-hosted-server",
      "outcome": "Optional authenticated offline replication with recovery, conflict visibility and no stale offline claim or effect authority"
    },
    {
      "id": "TQ-810",
      "status": "done",
      "milestone": "remote-sdks",
      "outcome": "Publish stable remote API schemas and thin cross-language clients beginning with Python, without reimplementing the kernel"
    },
    {
      "id": "TQ-901",
      "status": "candidate_done_external_gate",
      "milestone": "managed-cloud",
      "outcome": "Tenant control plane and isolated workspace provisioning"
    },
    {
      "id": "TQ-902",
      "status": "candidate_done_external_gate",
      "milestone": "managed-cloud",
      "outcome": "Same-origin hosted BFF sessions and authenticated Console integration"
    },
    {
      "id": "TQ-903",
      "status": "candidate_done_external_gate",
      "milestone": "managed-cloud",
      "outcome": "Human-device and workload onboarding, recovery and revocation"
    },
    {
      "id": "TQ-904",
      "status": "candidate_done_external_gate",
      "milestone": "managed-cloud",
      "outcome": "Quotas, retention, export/delete, incident, support and billing boundaries"
    },
    {
      "id": "TQ-905",
      "status": "candidate_done_external_gate",
      "milestone": "managed-cloud",
      "outcome": "Multi-tenant isolation, key rotation, recovery and support-access certification"
    },
    {
      "id": "TQ-607",
      "status": "in_progress_dogfood",
      "milestone": "private-dogfood",
      "outcome": "Operate Tasq on retained ledgers for at least 30 days across personal planning, Kami Robotics and an interactive agent runtime before stable graduation"
    },
    {
      "id": "TQ-906",
      "status": "pending_independent_review",
      "milestone": "managed-cloud",
      "outcome": "Remote effects only after independent evidence and authority review; disabled by default"
    },
    {
      "id": "TQ-617",
      "status": "done",
      "milestone": "autonomous-direction",
      "outcome": "Mid-task discoveries become first-class linked work: a discovered_from dependency type plus a zero-cost capture command that never releases the discovering claim"
    },
    {
      "id": "TQ-618",
      "status": "done",
      "milestone": "autonomous-direction",
      "outcome": "Observed cost attributed per attempt at the claim, cumulative per task, with a hard bound that can refuse lease renewal"
    },
    {
      "id": "TQ-619",
      "status": "done",
      "milestone": "autonomous-direction",
      "outcome": "A task records the observation that motivates it, and that premise is refutable with the same mechanics completion resolution already uses"
    },
    {
      "id": "TQ-620",
      "status": "done",
      "milestone": "autonomous-direction",
      "outcome": "Human attention treated as a bounded resource: batched input_required requests and do-not-disturb windows at constant decision quality"
    },
    {
      "id": "TQ-621",
      "status": "done",
      "milestone": "autonomous-direction",
      "outcome": "A sourced public comparison of what happens when several agents work the same backlog in parallel, every claim carrying its source"
    },
    {
      "id": "TQ-622",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Freeze the delegated-action conformance model and one provider-neutral target-reference and binding contract, or record an explicit no-new-record decision after comparing alternatives"
    },
    {
      "id": "TQ-623",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Deepen the embedded Interface so callers can use existing assignments, artifacts, external references and effects plus atomic claim/start and submit-outcome journeys without coordinating internal rows"
    },
    {
      "id": "TQ-624",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Replace the closed signed-statement binding list with a trusted versioned binder registry that can add exact agreement, attestation, mandate and custody purposes without weakening typed target checks"
    },
    {
      "id": "TQ-625",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Add a provider-neutral Attestations Module with issuer, subject, purpose, scope, validity, evidence and append-only revocation while keeping eligibility decisions and authority separate"
    },
    {
      "id": "TQ-626",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Expose a Mandates Module that compiles bounded readable intent into existing grants, delegations, scopes and approval policy and explains the effective live decision without creating a second authority truth"
    },
    {
      "id": "TQ-627",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Add an Agreements Module for exact-term offer, party acceptance, withdrawal, expiry and superseding amendment that transactionally compiles accepted terms into reciprocal commitments and resolution policies"
    },
    {
      "id": "TQ-628",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Add versioned Settlement and Recourse Modules that derive reciprocal obligations from exact agreement, attempt and resolution facts and compile them into commitments or effects without rewriting completion"
    },
    {
      "id": "TQ-629",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Build one reference delegated-action Runner and Review Inbox that own timers, outbox consumption, connector dispatch, indeterminate reconciliation, recourse materialization and attention projection without moving runtime state into Core"
    },
    {
      "id": "TQ-630",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Add Evidence Capture and Outcome Bundle Modules that bind immutable uploads, provenance, redaction and retention metadata and export a content-addressed resolution packet without creating a second truth"
    },
    {
      "id": "TQ-631",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Prototype Custody as an experimental first-class Module with single-current-custodian strategy, atomic accepted handoff, condition evidence and append-only incident lineage before any Kernel admission claim"
    },
    {
      "id": "TQ-632",
      "status": "done",
      "milestone": "delegated-action",
      "outcome": "Certify the same delegated-action Interfaces across physical verification, remote hands, software deployment, procurement, custody and compromised-agent scenarios, then publish only the honestly supported Profile claims"
    },
    {
      "id": "TQ-633",
      "status": "done",
      "milestone": "public-distribution",
      "outcome": "An unsupported one-shot npm bootstrap can never remain the default install channel, and every protected release proves latest resolves to its exact published version"
    },
    {
      "id": "TQ-634",
      "status": "done",
      "milestone": "local-adoption",
      "outcome": "Select a schema-valid coordination space for one canonical directory tree without changing the operator's global default or writing repository state"
    },
    {
      "id": "TQ-635",
      "status": "done",
      "milestone": "agent-adoption",
      "outcome": "Generate one versioned digest-bound AGENTS.md block from static protocol text only, with idempotent writes, hand-edit protection, CI states and an explicit ledger-versus-backlog authority split"
    },
    {
      "id": "TQ-636",
      "status": "done",
      "milestone": "feedback-loop",
      "outcome": "Capture actionable secret-free CLI feedback locally in one line while offline, then explicitly reconcile and publish a bounded batch to GitHub without granting issue activity completion authority"
    }
  ],
  "sourceContracts": [
    {
      "path": "docs/concepts/PRODUCT_SURFACE_MATRIX.json",
      "contractVersion": "tasq.product-surface-matrix.v1",
      "sha256": "9a2a943ab118383f794760b9a909814d9103ad4eacc5af424b57835e6e007127"
    },
    {
      "path": "docs/roadmap/BACKLOG.json",
      "contractVersion": "tasq.backlog.v1",
      "sha256": "3920f164bcf8279e5a1e4eb39f31fdcf19714ef1cf66ab73aaf9822a570147d3"
    },
    {
      "path": "docs/releases/PUBLIC_RELEASE_POLICY.json",
      "contractVersion": "tasq.public-release-policy.v1",
      "sha256": "8ed87d5a5079367913cdbe037b2a507fb155382e6df95926d39aee16acb25e53"
    }
  ]
}
