Skip to content

docs(web,core-app): status truth pass — milestone reality on every public surface - #839

Merged
baakhoff merged 2 commits into
mainfrom
docs/status-truth-pass
Aug 26, 2026
Merged

docs(web,core-app): status truth pass — milestone reality on every public surface#839
baakhoff merged 2 commits into
mainfrom
docs/status-truth-pass

Conversation

@baakhoff

Copy link
Copy Markdown
Owner

Closes #830

What

Every public status surface still told the retired "Phases 0–3 complete… chat
bridges (Phase 4) next" story. Reconciled each one to the current milestone
model (.workspace/docs/ROADMAP.md): working toward 1.0.0 — Foundation
complete & stable
(a quality gate, not a feature checklist); the
messaging module (loopback, Discord, Telegram) already shipped;
Slack/WhatsApp land at 2.0.0; latest tagged release stays v0.2.0.

Every claim below was re-verified against the live tree (code, not
assumption) before writing.

  • README.md:11-14 — replaced the phase story with the milestone gate,
    the shipped module list, and the messaging/Slack-WhatsApp split.
  • docs/index.md — same status fix; the at-a-glance module tree was
    missing notes and websearch (both exist as running services) — added.
  • docs/user/installation.md — the port table listed 3 of the 11 module
    ports. Rebuilt from the source of truth docs/reference/ports.md: the full
    module band (11 entries), the data plane, and the observability ports
    correctly marked opt-in (--profile observability), which the old
    table didn't disclose either. Added a new First-run models section
    documenting what the ADR-0118 bootstrap (core: first boot leaves Ollama empty — bootstrap the default models on startup #773) actually does — read from
    docs/services/core-app.md and services/core-app/src/epicurus_core_app/settings.py
    (the real LLM_BOOTSTRAP_MODELS/LLM_DEFAULT_MODEL/MEMORY_EMBED_MODEL
    defaults), not assumed.
  • docs/services/index.md:17 — mail's stale "(v0.1)" tag replaced;
    verified via services/mail/src that Gmail is still the only implemented
    provider (gmail.py, with provider.py as the interface) — IMAP/Microsoft
    remain future work, now said plainly instead of via a misleading version
    number (module is actually at 0.19.0).
  • docs/services/web.md:21 — the Chat row's table cell was one
    ~9,690-character line. Shrunk to a one-line summary linking to a new
    prose ### Chat subsection carrying the exact same content — split into
    17 paragraphs and verified word-for-word identical to the original
    (script-checked, not hand-transcribed; no information lost). Also
    web.md:568 — the "two board pages from one module" example (tasks'
    board + Can, Tasks: the Can — an undated backlog page; board and calendar show only scheduled tasks #766) has had no live instance since Tasks: fold the Can into the Tasks page — a Backlog choice on Show, not a separate nav entry #820 folded Can into
    the Tasks page (confirmed: archetype="board" appears exactly once in
    the whole codebase, in services/tasks); dropped the dead example and
    kept the underlying BoardView-keying design fact, stated generically
    rather than tied to a case that no longer exists.
  • docs/services/core-app.md:1058 and
    services/core-app/src/epicurus_core_app/scheduled_turns.py:5 — both
    called event-driven listeners/alerts "a later milestone." Confirmed
    Events: module event spine — envelope, emit helper, durable log, raw feed #662Chat: automation chat sink — rolling or per-run chats with icons; notes/KB sinks #672 are all closed and the module event spine / automations engine /
    push notifications / event alerts (ADR-0114) are fully documented as
    shipped later in the same file — corrected both to point at the
    automations engine instead.

Out of scope (per issue)

  • docs/infrastructure/** — the PowerShell-era startup doc is known-stale;
    deferred, not touched here (also noted in the issue-closing comment).
  • .workspace/** — inaccessible by design.
  • No behavior change anywhere in this PR.

Version

One docstring touch (scheduled_turns.py) ⇒ core-app 0.114.0 → 0.114.1
(PATCH)
. uv.lock regenerated to match. (Two sibling wave-15 lanes land
core-app 0.114.2 / 0.115.0 separately — this PR only claims .114.1 on the
pre-assigned ladder.)

Testing

  • ruff check . — pass
  • uv run mypy — pass (230 source files, no issues)
  • uv run pytest services/core-app/tests2002 passed, 69.13s (the
    benign RuntimeError: Event loop is closed teardown warnings are the
    pre-existing testcontainer/StaticPool noise documented in AGENTS.md, not a
    regression — exit code 0, no test failures)
  • gitleaks detect — no leaks found
  • No task smoke — docs/docstring only, no behavior change, per the issue
    brief.

…blic surface

README, docs/index.md, docs/user/installation.md, docs/services/index.md, and
docs/services/web.md still told the retired "Phases 0-3, chat bridges next"
story. Reconcile every public status surface to the milestone model: working
toward 1.0.0 (Foundation complete & stable), messaging shipped (loopback,
Discord, Telegram), Slack/WhatsApp at 2.0.0, v0.2.0 latest tagged.

- Rebuild installation.md's port table from the ports.md source of truth
  (11 module ports, data plane, opt-in observability profile) and document
  what the ADR-0118 first-boot model bootstrap actually does.
- Add the missing notes/websearch modules to docs/index.md's at-a-glance tree.
- Drop the stale mail "(v0.1)" version tag in docs/services/index.md.
- Restructure web.md's ~9,690-character Chat table cell into a one-line
  summary plus a full prose subsection (word-for-word verified, no
  information loss); drop the dead "two board pages" example (tasks' board +
  Can, folded into one page by #820) with no live replacement instance.
  Correct core-app.md and scheduled_turns.py calling listeners/alerts "a
  later milestone" - that shipped inside 1.0 via #662-#672.

core-app 0.114.0->0.114.1 (PATCH).
@baakhoff
baakhoff merged commit ce1675c into main Aug 26, 2026
9 checks passed
@baakhoff
baakhoff deleted the docs/status-truth-pass branch August 26, 2026 23:30
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.

docs: reconcile every status surface to the milestone roadmap

1 participant