TimZander / TimZander/life-compass
Day-level and compass-level synthesis prompts
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 8h 34m
- Merged PRs (30d)
- 3
Description
Goal
The two larger altitudes: a prompt for a whole day, and a synthesis pass across accumulated
answers. #67 proves the mechanism on one question group; this extends it to the scopes where
an assistant's real value shows — asking follow-up questions across a day's work, and helping
shape five days of reflection into a compass.
Part of #15. Deliberately last, because these are the payloads with the most in them.
Current Behavior
Nothing generates prompts at any altitude until #67 lands. The scopes map onto existing
structure:
- A day is one worksheet in
WORKSHEETS(src/questions/index.ts), identified by its
sourcepath — e.g.days/day-1-excavation.md, or its rigorous-track counterpart. - A compass spans accumulated answers across worksheets, which is what
one-page-anchor.mdandtemplates/life-compass.mdalready exist to hold.
Proposed Solution
Reuse #67's generator and consent surface at wider scopes rather than writing a second one.
If that turns out to need reshaping, reshape it — two prompt generators that drift apart is
the outcome to avoid.
The privacy trade gets sharper as the scope widens, and the design has to get sharper with
it. At a single question group, prior answers are an opt-in extra. At compass level they
are the entire point — synthesis across accumulated answers is what is being asked for — so
the payload necessarily contains days of the most personal material the app holds. ADR 0007's
"show the literal payload" stops being a formality at that size: a scrollable preview of four
days of reflection is the only honest way to make the trade legible.
That has a real consequence worth deciding rather than defaulting: per-section opt-in
(0007 · 2) has to remain meaningful at this size. A single "include everything" tick is not
the same as choosing, and this is exactly where it would be tempting to add one.
Open question, created by the interface decisions of 2026-08-07. #67 puts a copy button
on each question, which gives the per-group altitude an obvious home. A day and a compass have
no such anchor — the candidates are the top of each worksheet, or the bridge's own opt-in
page alongside the toggle. The latter keeps worksheets clean, which is the reason the opt-in
exists; the former puts the control where the work is. Decide deliberately.
This is where a day comes back in one piece. Asking an assistant to interview somebody
through a whole day produces that day's answers together, so this altitude is the first real
consumer of a paste carrying several blocks at once. #66 is required to leave room for that
in the contract's top-level shape; whether it ships here or later is this issue's call, but
the format must not need a version bump to allow it.
Paste-back at these altitudes is already answered. Because every block names the scope it
answers (#66), the agent page's paste box routes anything — so a day-level or compass-level
reply has somewhere to go without needing a control of its own. That was the reason the box
became #68's primary mechanism rather than a fallback.
Acceptance Criteria
- A day-level prompt contains every question group in that worksheet and no group from
another. - A compass-level prompt spans the worksheets it declares, and names which ones it drew from
in the payload itself. - A reply carrying a whole day's answers is imported in one exchange, each block routed to
the group it names — or, if that is deferred, the contract still accepts it without a
version change and the deferral is recorded rather than implied. - Prior answers remain opted in per section at both altitudes; there is no single
control that silently includes everything. - The preview shows the literal payload at full size and is scrollable — asserted as the
same string that reaches the clipboard, as in #67. - The one plain sentence (0007 · 3) is stated once, not repeated per section, and not
escalated into a confirmation dialog (0007 · 4). - Both altitudes emit the contract from #66 at the same version #67 does.
- Both work offline.
- Negative case: a day with no answers stored still produces a usable blank prompt rather
than an empty payload or an error. - Generating at any altitude leaves the store untouched. Copy-out reads; it never writes.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the generator and consent surface from #67 and the contract from #66, then inspect src/questions/index.ts, one-page-anchor.md, and templates/life-compass.md to map day and compass scopes. Resolve the control placement and per-section opt-in decisions, then verify the acceptance criteria for literal previews, multi-block replies, offline use, blank days, and an untouched store.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100