Skip to content

refactor(core): converge wiki logs on the accepted-change vocabulary - #1396

Merged
phernandez merged 3 commits into
mainfrom
docs-domain-model-accepted-changes
Aug 31, 2026
Merged

refactor(core): converge wiki logs on the accepted-change vocabulary#1396
phernandez merged 3 commits into
mainfrom
docs-domain-model-accepted-changes

Conversation

@phernandez

Copy link
Copy Markdown
Member

Why

PR #1382 landed the accepted-change journal (RuntimeAcceptedProjectNoteChange + Project.partition_position) and the deterministic Wiki Projector, and the SPEC-88 cloud stack builds on both. The domain documentation doesn't yet name that substrate, and the projector carried a private twin of the operation enum. Several event-shaped surfaces now exist across core and cloud (accepted changes, activity feeds, live updates, storage notifications, run ledgers, telemetry), so the derivation relationships need one canonical statement before more consumers land.

Convergence decision (SPEC-83): the shipped names are the canonical ones. RuntimeAcceptedProjectNoteChange + partition_position is the v0 accepted-event journal; the fuller MemoryEvent envelope (causation, correlation, depth, workspace scope) is that record's growth path, not a second journal to build beside it.

What changed

  • docs/DOMAIN_MODEL.md — two new Core Concepts sections:
    • Accepted Change Journal: defines the journal as the canonical temporal record, the watermark as the ordering/idempotency substrate, and materialization settling as the hold-back rule for consumers that must not run ahead of durable files.
    • Event Surfaces And Derivation: the derivation tree (ingress → reconciliation → journal → projections), plus the explicit non-projections: delivery events prove delivery not acceptance; run ledgers and product telemetry are not knowledge events.
  • src/basic_memory/indexing/wiki_projector.pyWikiChangeOperation becomes an alias of RuntimeProjectNoteOperation instead of a duplicate four-value StrEnum. The wiki-facing name survives, so all call sites (including cloud's WikiChangeOperation(change.operation) in wiki_projection_snapshot.py) keep working, and the two vocabularies can no longer drift.

Verification

  • uv run ruff check / ruff format --check — clean
  • uv run ty check src/basic_memory/indexing/wiki_projector.py — clean
  • uv run pytest tests/indexing/test_wiki_projector.py tests/runtime/test_project_partition.py tests/repository/test_project_partition_repository.py — 90 passed

Related

  • SPEC-83 (Accepted Memory Journal and Agent Runtime), SPEC-88 (OKF-Native Wiki Projector) — notes updated to record the naming convergence.
  • Cloud convergence tracker issue lists the remaining cloud-side work (WorkspaceActivity un-overloading, routines consuming the journal, bm log/bm show).

🤖 Generated with Claude Code

https://claude.ai/code/session_014pmKq6bqCi6Zp6BTHuZjrp

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-31T15:20:58.790081Z 55776be Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 01bd452c20

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/DOMAIN_MODEL.md
phernandez and others added 2 commits August 31, 2026 10:09
Name the accepted-change journal in the domain model and collapse the
projector's twin operation enum:

- docs/DOMAIN_MODEL.md gains 'Accepted Change Journal' and 'Event
  Surfaces And Derivation': RuntimeAcceptedProjectNoteChange plus
  Project.partition_position is the canonical temporal record; wiki,
  search/graph/vector, activity, and temporal reads are projections;
  delivery events, run ledgers, and product telemetry are separate
  families that never stand in for the journal.
- indexing/wiki_projector.py reuses RuntimeProjectNoteOperation for
  WikiChangeOperation instead of duplicating the same four-value
  StrEnum. The wiki-facing name stays as an alias so existing call
  sites keep working while the vocabularies can no longer drift.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014pmKq6bqCi6Zp6BTHuZjrp
Signed-off-by: phernandez <paul@basicmachines.co>
Codex review: file-first reconciliation (observed file indexing,
external deletes) does not advance the journal today — only DB-first
accepted note mutations do. State that scope explicitly on the journal
concept and mark the diagram's ingress edge as the target shape.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014pmKq6bqCi6Zp6BTHuZjrp
Signed-off-by: phernandez <paul@basicmachines.co>
@phernandez
phernandez force-pushed the docs-domain-model-accepted-changes branch from 01bd452 to 544544b Compare August 31, 2026 15:09
@phernandez

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 544544bb20

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/DOMAIN_MODEL.md Outdated
Codex review round 2: today's recent-activity feed derives from search
state (ContextService.build_context), not journal reads —
list_accepted_note_changes has no consumers yet. Scope the feed bullet
and the diagram's activity edge the same way the ingress edge already
is: where the feed converges, not what it reads today.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014pmKq6bqCi6Zp6BTHuZjrp
Signed-off-by: phernandez <paul@basicmachines.co>
@phernandez

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Delightful!

Reviewed commit: 55776bea27

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@phernandez
phernandez merged commit e91efe6 into main Aug 31, 2026
26 checks passed
@phernandez
phernandez deleted the docs-domain-model-accepted-changes branch August 31, 2026 15:43
jcass77 pushed a commit to jcass77/basic-memory that referenced this pull request Sep 5, 2026
…asicmachines-co#1396)

Signed-off-by: phernandez <paul@basicmachines.co>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant