Every voting member's persona now documents that the PKB (daily/,
inbox/, notes/, projects/, reading/, reflections/, reviews/, all of
sessions/) is readable. Write access stays unchanged: voting members
write only to their own members/<slug>/ directory; the Researcher
writes only to sessions/<slug>/research/.
The read-scope block distinguishes the two invocation contexts:
/council runs stay bounded to the brief + research package + debate
packet (the PKB isn't pulled into formal deliberation unless the
Moderator explicitly points at a note), while /ask-*, /reflect,
/triage-inbox, /review-week, and /review-month may pull PKB context
selectively as the lens requires.
Researcher gets a parallel note that PKB content is now legitimate
primary-source material alongside web searches during Phase-1
research, flagged as source: pkb in the resulting research files.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Establishes the knowledge-base substrate the Council now sits on top of:
daily/, inbox/ (+ raw/ for AudioPen drops), notes/, projects/,
reading/, reflections/, reviews/, _templates/. Each folder seeded with
a .gitkeep so the structure is committed even when empty.
Six templates under _templates/ define the canonical shape for each
note type (daily, permanent, project, reading, reflection, fleeting).
Frontmatter includes the type: field so the Bases below can filter on
it without collision with the existing council-* vocabulary.
Five new Obsidian Bases at repo root: notes.base, projects.base (with
active / all views), reading.base (to-read / reading / done views),
reflections.base (combined reflections + weekly + monthly reviews),
and inbox.base (fleeting notes awaiting triage).
Expanded .obsidian/app.json userIgnoreFilters to hide _templates and
scripts from the vault index so they don't clutter the graph, search,
or file explorer.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
All ten voting members now have a first entry in journal.md referencing
the Volt NL fit session, plus first substantive content in
on-the-user.md. Common threads captured independently across several
members: the user's standing rejection of strategic voting, EU
federalism and democracy/digital-rights as co-foundational pair, and
SMR-positive climate pragmatism.
revisit.md left untouched across all ten — every member reported the
session closed cleanly with no dangling threads worth future attention.
Researcher and Scribe have no journals by design.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Full session artefacts for the question "Is Volt the correct political
party for me in the Netherlands?" — brief with Phase-0 interview and
Phase-2 clarification additions, five round-1 research files from Naima
Quéré, verbatim initial answers and revised answers from all ten
members, transparent vote transcript with rationales, canonical outcome
file, and narrative summary.
Exercises the clarification-flag machinery: nine of ten members raised
Phase-2 clarifications which consolidated to four user questions; all
four resolved in Volt's direction. No research-gap round fired, no
Phase-3 clarifications, no round-2 revision. Four-way vote split
(Koskela 4, Tavşan 3, Vaasa 2, Vire 1); no user tie-break required.
This is the reference fixture for the mql CLI's first integration test
corpus — real frontmatter, wikilinks, and Obsidian Bases targets across
eleven files.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New Phase-5d step: the Moderator writes sessions/<slug>/summary.md
directly (no sub-agent), producing an 11-section readable summary —
TL;DR, winning answer verbatim, vote distribution with ASCII bar chart,
phrases that crystallized, per-member Phase-2-to-Phase-3 posture
shifts, confidence trajectory chart, influence map (positive-citation
counts), non-winning readings preserved as distinct lenses, watch
items flagged across multiple members, session mechanics stats, and
full artefact wikilinks.
outcome.md stays as the machine-structured record for the sessions
Base; summary.md is the artefact you actually reread a week later.
Phase-5f terminal output retires the full vote table in favour of a
one-line verdict, condensed ASCII vote chart, full winning answer,
and a pointer at summary.md.
CLAUDE.md and docs/structure/initial-plan.md updated to mention the
new file in the session directory layout.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Linter-driven: base views referenced property names with a redundant
note. prefix in the order and sort arrays. The properties map still
declares note.<key>, but inside order/sort the bare key is idiomatic
and renders correctly. No functional change; both bases continue to
filter and display as intended.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Shared-scope permissions so anyone cloning the repo inherits the same
safety net. Allow list covers only the two explicit asks (git add, git
commit). Deny list covers the usual destructive-command patterns:
rm -rf on root/home, sudo rm/chmod/chown, mkfs, dd if=, git push --force
variants, git reset --hard, git clean -fd/fdx, git branch -D, chmod 777.
.claude/settings.local.json remains the empty per-user stub.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add a graph-view search filter (-path:members -path:.base) so the
30+ journal/on-the-user/revisit nodes drop out of the visualization.
View-only — the files stay in the vault index, so council-members.base
keeps rendering the roster and search keeps finding them.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Opens a "council" tmux session scoped to this repo and launches
Claude Code in it. -A on new-session means a second Obsidian terminal
pane attaches to the same session rather than spawning a duplicate.
Assumes Obsidian is running outside a sandbox so /usr/bin/tmux and
the host claude binary are reachable directly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
One directory per member under members/, each with persona.md carrying
the queryable frontmatter the Bases filter on. Voting members also
have empty-with-header journal.md, on-the-user.md, and revisit.md —
seeded so the Phase-5 memory batch always has a target file to append
to without creating it from scratch. Researcher and Scribe have
persona only (they write session files, not journals).
council-sessions.base indexes sessions/<slug>/outcome.md files by date,
winner, tied, and per-phase clarification flags.
council-members.base renders the roster with prior job, lens, and
voting status.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Ten voting members with distinct prior-job personas (magician, marine
biologist, bankruptcy lawyer, hospice counselor, cosmonaut trainer,
theoretical physicist, skateboarder, SF novelist, prison-guard painter,
maritime-labour anthropologist), plus Naima Quéré as Researcher (only
sub-agent with WebSearch/WebFetch) and Ansel Voss as Scribe on Haiku.
/council drives a six-phase run: context interview, pre-session
research, initial answers, debate + bounded revision, transparent vote,
tally and archive. Any sub-agent can raise User-clarification-needed at
any phase; the Moderator batches the questions back to the user. Vote
ties are broken by the user via AskUserQuestion.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Auto-triggers on commit-related prompts so the rules apply whenever
Claude is about to check work in. Covers message style (imperative,
no emojis, no Conventional Commits prefixes), HEREDOC discipline,
attribution trailer, and logically-separated-commits guidance.
Also reinforces the global Claude Code git-safety protocol (no
--no-verify, no amend-without-ask, no force-push to main) so it sits
in one place next to the repo-specific style rules.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
These are reusable skills not tied to the Council — d2 for text-to-
diagram generation, Frame0 for wireframe authoring and export, and a
meta-skill that guides creation of new skills.
Scripts retain their execute bits; references and assets are bundled
alongside each SKILL.md per the standard skill layout.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CLAUDE.md so future Claude Code sessions have the five-phase workflow,
web-access rule, clarification-flag rules, tool permissions per agent,
and modification conventions at hand on session start.
README.md as the vault-facing overview for anyone opening this repo in
Obsidian, including the roster and where to find session artefacts.
docs/structure/initial-plan.md archives the design decisions that shaped
the current scaffolding — useful context when extending the system.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Exclude .env (a GOOGLE_CLOUD_PROJECT value was present at the repo root),
.claude/settings.local.json, OS cruft, and personal Obsidian workspace
state (workspace.json, workspace-mobile.json, cache). Commit the rest of
.obsidian/ so the vault reopens with the same plugins, graph settings,
and daily-notes config on any machine.
Also expand Obsidian's userIgnoreFilters so .claude, .env, and .gitignore
don't pollute the file explorer, search, or graph view.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>