This commit is contained in:
2026-06-10 11:12:49 -05:00
parent 40a68dc0f5
commit 40de48377c
6 changed files with 28 additions and 16 deletions
Binary file not shown.
@@ -1,6 +1,6 @@
{ {
"name": "echo-memory", "name": "echo-memory",
"version": "0.5.0", "version": "0.5.1",
"description": "Persistent memory via the ECHO Obsidian vault over the Local REST API. Self-bootstrapping: the plugin carries the full vault scaffold and all control logic (no in-vault routing docs), so it stands up an empty vault and ports cleanly to any other. Reads and writes notes across Claude/CoWork sessions using direct REST calls \u2014 no MCP server required. Jason's personal memory vault.", "description": "Persistent memory via the ECHO Obsidian vault over the Local REST API. Self-bootstrapping: the plugin carries the full vault scaffold and all control logic (no in-vault routing docs), so it stands up an empty vault and ports cleanly to any other. Reads and writes notes across Claude/CoWork sessions using direct REST calls \u2014 no MCP server required. Jason's personal memory vault.",
"author": { "author": {
"name": "Jason" "name": "Jason"
@@ -197,7 +197,7 @@ curl -s -X PATCH \
"https://echoapi.alwisp.com/vault/_agent/memory/semantic/operator-preferences.md" "https://echoapi.alwisp.com/vault/_agent/memory/semantic/operator-preferences.md"
``` ```
Use `Operation: replace` to overwrite a section entirely (e.g. a project's `Project Name::Current status`). Percent-encode non-ASCII characters in the `Target` header; spaces are fine. Use `Operation: replace` to overwrite a section entirely (e.g. a project's `Project Name::Status`). Percent-encode non-ASCII characters in the `Target` header; spaces are fine.
### Bump `updated:` after meaningful changes ### Bump `updated:` after meaningful changes
@@ -229,7 +229,7 @@ source_notes: []
# Project Name # Project Name
## Current status ## Status
... ...
## Related ## Related
@@ -131,7 +131,7 @@ Returns `{ "headings": [...], "blocks": [...], "frontmatterFields": [...] }`. Co
### Replace a heading's content entirely ### Replace a heading's content entirely
Same call with `Operation: replace` — e.g. to refresh a project's `Project Name::Current status`. Same call with `Operation: replace` — e.g. to refresh a project's `Project Name::Status`.
### Prepend under a heading ### Prepend under a heading
@@ -199,7 +199,7 @@ Only on explicit operator request. Deletion is destructive.
| Working-session log | `_agent/sessions/YYYY-MM-DD-HHMM-<slug>.md` | PUT | | Working-session log | `_agent/sessions/YYYY-MM-DD-HHMM-<slug>.md` | PUT |
| Long-running project state | `projects/<lifecycle>/<slug>.md` (lifecycle: `incubating``active``on-hold`/`archived`; folder and `status:` MUST agree) | PUT + PATCH | | Long-running project state | `projects/<lifecycle>/<slug>.md` (lifecycle: `incubating``active``on-hold`/`archived`; folder and `status:` MUST agree) | PUT + PATCH |
| Ongoing area of responsibility (standing domain, no end state) | `areas/<domain>/<slug>.md` (`<domain>`: `business`/`personal`/`learning`/`systems`) | PUT | | Ongoing area of responsibility (standing domain, no end state) | `areas/<domain>/<slug>.md` (`<domain>`: `business`/`personal`/`learning`/`systems`) | PUT |
| Non-obvious decision (ADR) | `decisions/by-date/YYYY-MM-DD-<slug>.md` (mirror only into an existing project note's `## Decisions`; otherwise skip) | PUT | | Non-obvious decision (ADR) | `decisions/by-date/YYYY-MM-DD-<slug>.md` (mirror only into an existing project note's `## Key Decisions`; otherwise skip) | PUT |
| Person context | `resources/people/<name>.md` | PUT / PATCH | | Person context | `resources/people/<name>.md` | PUT / PATCH |
| Concept / reference note | `resources/concepts/` or `resources/references/` | PUT | | Concept / reference note | `resources/concepts/` or `resources/references/` | PUT |
| Meeting notes / call recap | `resources/meetings/YYYY-MM-DD-<slug>.md` | PUT | | Meeting notes / call recap | `resources/meetings/YYYY-MM-DD-<slug>.md` | PUT |
@@ -28,7 +28,7 @@
│ ├── by-date/ ← YYYY-MM-DD-<slug>.md (ADR-style) — the canonical home │ ├── by-date/ ← YYYY-MM-DD-<slug>.md (ADR-style) — the canonical home
│ └── decision-template.md │ └── decision-template.md
│ (decisions/by-project/ is retired and not created — │ (decisions/by-project/ is retired and not created —
│ mirror an ADR into a project's `## Decisions` heading instead) │ mirror an ADR into a project's `## Key Decisions` heading instead)
├── reviews/ ← weekly / monthly / quarterly / annual ├── reviews/ ← weekly / monthly / quarterly / annual
└── _agent/ └── _agent/
├── echo-vault.md ← bootstrap marker: schema_version + bootstrap date (plugin-owned; the "is this vault set up?" probe) ├── echo-vault.md ← bootstrap marker: schema_version + bootstrap date (plugin-owned; the "is this vault set up?" probe)
@@ -108,29 +108,41 @@ Append observed facts under `## Observations` by default. Promote to `## Fact /
### projects/active/\<slug\>.md ### projects/active/\<slug\>.md
Mirrors `scaffold/templates/projects/project-template.md` — keep this block in sync with that template.
```markdown ```markdown
--- ---
type: project type: project
status: active status: active
created: 2026-06-05 created: {{date:YYYY-MM-DD}}
updated: 2026-06-05 updated: {{date:YYYY-MM-DD}}
tags: [] tags: [project]
agent_written: false agent_written: false
source_notes: [] source_notes: []
owner:
review_cycle: weekly
--- ---
# Project Name # Project Name
## Current status ## Purpose
One paragraph, kept fresh via PATCH replace.
## Decisions ## Status
- [[YYYY-MM-DD-decision-slug]] — one-line summary One paragraph, kept fresh via PATCH replace (target `Project Name::Status`).
## Open threads ## Goals
## Current Context
## Open Loops
- [ ] unresolved thing - [ ] unresolved thing
## Log ## Key Decisions
- [[YYYY-MM-DD-decision-slug]] — one-line summary (ADR mirror target)
## Related Notes
## Session History
- 2026-06-05: observation or update - 2026-06-05: observation or update
## Related ## Related
@@ -143,7 +155,7 @@ See `session-log-template.md`. ECHO uses an **HHMM time component** in the filen
### decisions/by-date/YYYY-MM-DD-\<slug\>.md ### decisions/by-date/YYYY-MM-DD-\<slug\>.md
ADR-style: Context → Decision → Consequences. If the decision belongs to an existing project, PATCH-append the wikilink into that project's `## Decisions` heading. Don't use `decisions/by-project/` — it's legacy scaffolding that's intentionally left empty. ADR-style: Context → Decision → Consequences. If the decision belongs to an existing project, PATCH-append the wikilink into that project's `## Key Decisions` heading. Don't use `decisions/by-project/` — it's legacy scaffolding that's intentionally left empty.
### people/\<name\>.md ### people/\<name\>.md
BIN
View File
Binary file not shown.