memory.propose_update
Propose structured updates to project memory files, validated for schema, secrets, and provenance. Changes apply immediately or wait for human review via CLI.
Instructions
Propose one or more structured edits to the project's .agent-memory/ files. Each operation is validated against the schema, scanned for secrets, and checked for required provenance. Depending on the intent and category, the proposal is either applied immediately or staged under .agent-memory/staging// for human review via the apply/reject CLI commands. A rejected proposal is reported in the response body, not as a transport error.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| owner | No | identifier of the proposing agent; recorded in lock metadata | |
| intent | Yes | intent: update_current | update_shared | session_log | add_pitfall | record_decision | refresh_module | update_conventions | archive_stale | |
| sources | No | provenance citations (required for some categories, e.g. decisions) | |
| grounding | No | proof-of-grounding receipt from a previous fetch call (SAR-008) | |
| rationale | No | short human-readable reason; shown in CLI status and used in the staging-id slug | |
| confidence | No | confirmed | inferred | user-provided | stale | unknown | |
| operations | Yes | one or more structured edits to apply |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | forward-slash relative paths the proposal touched | |
| reason | No | on rejection: stable reason code (invalid_intent, secret_detected, ...) | |
| status | Yes | applied | staged | rejected | |
| message | No | human-readable detail to accompany the reason code | |
| routing | No | resolved approval routing for traceability | |
| findings | No | on secret_detected: per-finding type + line | |
| warnings | No | on applied: non-fatal advisories | |
| applied_at | No | on applied: RFC3339 UTC write time | |
| staging_id | No | on staged: directory name under .agent-memory/staging/ | |
| violations | No | on validation_failed: per-section schema violations | |
| index_updated | No | on applied: whether the FTS index was refreshed | |
| review_command | No | on staged: CLI command to inspect the proposal | |
| affected_sections | No | on applied: (file, section_id) pairs touched | |
| staging_ttl_seconds | No | on staged: seconds until the proposal expires | |
| provenance_violations | No | on provenance_violation: list of violation strings | |
| human_approval_required | No | on staged: always true — a human must review |