memory.propose_update
Propose structured edits to project memory files. Validates each operation for schema compliance, secrets, and provenance, then automatically applies safe updates or stages changes for human review.
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 |
|---|---|---|---|
| intent | Yes | intent: update_current | update_shared | session_log | add_pitfall | record_decision | refresh_module | update_conventions | archive_stale | |
| rationale | No | short human-readable reason; shown in CLI status and used in the staging-id slug | |
| operations | Yes | one or more structured edits to apply | |
| sources | No | provenance citations (required for some categories, e.g. decisions) | |
| confidence | No | confirmed | inferred | user-provided | stale | unknown | |
| owner | No | identifier of the proposing agent; recorded in lock metadata |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | applied | staged | rejected | |
| reason | No | on rejection: stable reason code (invalid_intent, secret_detected, ...) | |
| message | No | human-readable detail to accompany the reason code | |
| routing | No | resolved approval routing for traceability | |
| staging_id | No | on staged: directory name under .agent-memory/staging/ | |
| files | No | forward-slash relative paths the proposal touched | |
| findings | No | on secret_detected: per-finding type + line | |
| violations | No | on validation_failed: per-section schema violations | |
| provenance_violations | No | on provenance_violation: list of violation strings | |
| applied_at | No | on applied: RFC3339 UTC write time | |
| affected_sections | No | on applied: (file, section_id) pairs touched | |
| index_updated | No | on applied: whether the FTS index was refreshed | |
| warnings | No | on applied: non-fatal advisories | |
| staging_ttl_seconds | No | on staged: seconds until the proposal expires | |
| human_approval_required | No | on staged: always true — a human must review | |
| review_command | No | on staged: CLI command to inspect the proposal |