docs: define personal-agent desktop exposure contract
This commit is contained in:
@@ -0,0 +1,168 @@
|
||||
{
|
||||
"schema_version": "personal-agent-desktop-exposure-contract/v1",
|
||||
"status": "active-profile-desktop-exposure-contract",
|
||||
"contract_id": "personal-agent-desktop-exposure-contract",
|
||||
"profile_identity": "personal-agent",
|
||||
"display_name": "Steev",
|
||||
"observed_date": "2026-06-14",
|
||||
"desktop_integration_claimed": false,
|
||||
"runtime_readiness_claimed": false,
|
||||
"seed_readiness_claimed": false,
|
||||
"core_promotion_claimed": false,
|
||||
"adapter_workspace": "../cortex-hermes-adapter",
|
||||
"adapter_validator_command": "python3 tools/validate_cortex_hermes_adapter_child.py",
|
||||
"adapter_validator_result_observed": "ok",
|
||||
"adapter_reference_contracts": [
|
||||
"../cortex-hermes-adapter/contracts/desktop-dashboard-host-surface.md",
|
||||
"../cortex-hermes-adapter/contracts/personal-agent-s518-runtime-host-surface-intake.json",
|
||||
"../cortex-hermes-adapter/contracts/first-open-evidence.schema.json",
|
||||
"../cortex-hermes-adapter/dashboard/package-view.sample.json"
|
||||
],
|
||||
"authority_boundary": {
|
||||
"profile_owns_desktop_exposure_contract": true,
|
||||
"adapter_owns_desktop_rendering": true,
|
||||
"seed_owns_package_first_open_proof": true,
|
||||
"core_owns_acceptance": true,
|
||||
"profile_mutates_adapter": false,
|
||||
"notes": "This contract is a profile-side handoff for desktop-visible readiness. It does not wire UI or mutate the adapter workspace."
|
||||
},
|
||||
"allowed_adapter_surfaces": [
|
||||
"package.status",
|
||||
"runtime.health",
|
||||
"onboarding.state",
|
||||
"profile.distribution",
|
||||
"capability.catalog"
|
||||
],
|
||||
"state_vocabulary": [
|
||||
"ready",
|
||||
"degraded",
|
||||
"pending",
|
||||
"blocked",
|
||||
"disabled"
|
||||
],
|
||||
"desktop_rows": [
|
||||
{
|
||||
"row_id": "personal-agent.profile",
|
||||
"label": "personal-agent",
|
||||
"display_name": "Steev",
|
||||
"surface": "profile.distribution",
|
||||
"state": "degraded",
|
||||
"source_contract": "docs/contracts/personal-agent-runtime-readiness-snapshot.json",
|
||||
"visible_reason": "Profile exists and capability contracts are present, but aggregate runtime readiness is degraded."
|
||||
},
|
||||
{
|
||||
"row_id": "personal-agent.imessage.read",
|
||||
"label": "iMessage read",
|
||||
"surface": "runtime.health",
|
||||
"state": "ready",
|
||||
"source_contract": "docs/contracts/personal-agent-bluebubbles-binding.json",
|
||||
"visible_reason": "BlueBubbles package validator is OK, read-only, secondbrain-personal, and orgbrain-forbidden."
|
||||
},
|
||||
{
|
||||
"row_id": "personal-agent.mail.read",
|
||||
"label": "Proton Mail read",
|
||||
"surface": "runtime.health",
|
||||
"state": "degraded",
|
||||
"source_contract": "docs/contracts/personal-agent-runtime-readiness-snapshot.json",
|
||||
"visible_reason": "Proton MCP is enabled and bridge is running, but email gate remains exited."
|
||||
},
|
||||
{
|
||||
"row_id": "personal-agent.calendar.read",
|
||||
"label": "Proton Calendar read",
|
||||
"surface": "runtime.health",
|
||||
"state": "degraded",
|
||||
"source_contract": "docs/contracts/personal-agent-runtime-readiness-snapshot.json",
|
||||
"visible_reason": "Calendar gate is running, but Proton/rclone package child and final runtime proof are not complete."
|
||||
},
|
||||
{
|
||||
"row_id": "personal-agent.contacts.read",
|
||||
"label": "Proton Contacts read",
|
||||
"surface": "runtime.health",
|
||||
"state": "degraded",
|
||||
"source_contract": "docs/contracts/personal-agent-runtime-readiness-snapshot.json",
|
||||
"visible_reason": "Proton MCP is enabled, but contacts gate remains exited."
|
||||
},
|
||||
{
|
||||
"row_id": "personal-agent.drive.read",
|
||||
"label": "Proton Drive read",
|
||||
"surface": "runtime.health",
|
||||
"state": "degraded",
|
||||
"source_contract": "docs/contracts/personal-agent-runtime-readiness-snapshot.json",
|
||||
"visible_reason": "rclone about probe is redacted-ok, but governed wrapper and package child are not complete."
|
||||
},
|
||||
{
|
||||
"row_id": "personal-agent.secondbrain.proposal",
|
||||
"label": "Personal memory proposals",
|
||||
"surface": "capability.catalog",
|
||||
"state": "pending",
|
||||
"source_contract": "docs/contracts/personal-agent-secondbrain-proposal-route.json",
|
||||
"visible_reason": "Proposal envelope route exists; durable Secondbrain apply remains blocked."
|
||||
},
|
||||
{
|
||||
"row_id": "personal-agent.browser.host-runtime",
|
||||
"label": "Browser host runtime",
|
||||
"surface": "capability.catalog",
|
||||
"state": "blocked",
|
||||
"source_contract": "docs/prd/2026-06-14-personal-agent-context-runtime-prd.md",
|
||||
"visible_reason": "Full desktop/browser control requires separate PACR-009 approval packet."
|
||||
},
|
||||
{
|
||||
"row_id": "personal-agent.write-actions",
|
||||
"label": "Writes and sends",
|
||||
"surface": "capability.catalog",
|
||||
"state": "disabled",
|
||||
"source_contract": "docs/contracts/personal-agent-profile-surface-contract.json",
|
||||
"visible_reason": "Silent sends, deletes, mark-read/read receipts, contact/calendar/file mutation, and durable writes are denied unless a confirmation surface is explicitly approved."
|
||||
}
|
||||
],
|
||||
"desktop_false_effects": {
|
||||
"adapter_mutated_by_profile": false,
|
||||
"desktop_or_dashboard_opened": false,
|
||||
"runtime_started": false,
|
||||
"runtime_stopped": false,
|
||||
"docker_started": false,
|
||||
"profile_exposure_changed": false,
|
||||
"memory_domain_access_granted": false,
|
||||
"provider_call": false,
|
||||
"secret_value_read": false,
|
||||
"raw_payload_imported": false,
|
||||
"seed_release_claim": false,
|
||||
"runtime_readiness_claim": false,
|
||||
"public_release_claim": false
|
||||
},
|
||||
"memory_policy": {
|
||||
"target": "secondbrain-personal",
|
||||
"forbidden": [
|
||||
"orgbrain"
|
||||
],
|
||||
"desktop_displays_memory_content": false,
|
||||
"desktop_displays_redacted_state_only": true
|
||||
},
|
||||
"proof_policy": {
|
||||
"mode": "redacted-only",
|
||||
"forbidden_fields": [
|
||||
"raw_messages",
|
||||
"message_text",
|
||||
"mail_bodies",
|
||||
"mail_subjects",
|
||||
"sender_address",
|
||||
"recipient_address",
|
||||
"contact_details",
|
||||
"calendar_event_details",
|
||||
"drive_file_names",
|
||||
"drive_file_contents",
|
||||
"attachment_content",
|
||||
"endpoint_payloads",
|
||||
"credentials",
|
||||
"secret_values"
|
||||
]
|
||||
},
|
||||
"remaining_gates": {
|
||||
"adapter_lane_pickup": "blocked-follow-up",
|
||||
"desktop_ui_wiring": "blocked-follow-up",
|
||||
"seed_package_pickup": "blocked-follow-up",
|
||||
"runtime_readiness_finalization": "blocked-follow-up",
|
||||
"browser_host_runtime_approval": "blocked-follow-up",
|
||||
"final_acceptance_packet": "blocked-follow-up"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user