Commit Graph
15 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Opus 4.7 3483c8bead grant Council agents read access to the personal knowledge base
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>
2026-04-19 20:16:59 +02:00
jpmschweitzerandClaude Opus 4.7 3965bc2938 scaffold PKB directories, templates, and Obsidian Bases
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>
2026-04-19 20:16:47 +02:00
jpmschweitzerandClaude Opus 4.7 d474d9edff update member memory from first Council session
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>
2026-04-19 18:20:19 +02:00
jpmschweitzerandClaude Opus 4.7 2a1101d172 log first Council session on Volt NL party fit
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>
2026-04-19 18:20:08 +02:00
jpmschweitzerandClaude Opus 4.7 275daf9e26 add summary.md artefact to /council output
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>
2026-04-19 18:19:58 +02:00
jpmschweitzerandClaude Opus 4.7 1acf635bab normalize Obsidian base property syntax
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>
2026-04-19 18:19:46 +02:00
jpmschweitzerandClaude Opus 4.7 24237d2217 add project permissions: allow git add/commit, deny destructive patterns
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>
2026-04-19 18:19:40 +02:00
jpmschweitzerandClaude Opus 4.7 21a10a1de0 hide member memory from Obsidian graph view
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>
2026-04-19 16:04:18 +02:00
jpmschweitzerandClaude Opus 4.7 5c0588a1c9 add councilClaudeTmux terminal profile and set as default
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>
2026-04-19 15:44:22 +02:00
jpmschweitzerandClaude Opus 4.7 14ca917e1b add member memory scaffolding and Obsidian Bases
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>
2026-04-19 15:26:31 +02:00
jpmschweitzerandClaude Opus 4.7 83e69ee1bc add Council agents and /council orchestration command
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>
2026-04-19 15:26:21 +02:00
jpmschweitzerandClaude Opus 4.7 7cc85d2f0a add git-commit skill with repo commit conventions
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>
2026-04-19 15:26:10 +02:00
jpmschweitzerandClaude Opus 4.7 fc8f6ae0cf import general-purpose skills: d2-diagram, frame0-wireframe, skill-create
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>
2026-04-19 15:26:00 +02:00
jpmschweitzerandClaude Opus 4.7 7a20b7f4ae add project documentation and archived design plan
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>
2026-04-19 15:25:51 +02:00
jpmschweitzerandClaude Opus 4.7 a86b84ef61 add gitignore and commit Obsidian vault config
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>
2026-04-19 15:25:42 +02:00