docs(specs): Iskra 8 bogactw check-in dashboard v0 prebuild (#290) #348

Merged
pdurlej merged 1 commit from claude/iskra/8-bogactw-dashboard-v0 into main 2026-05-23 10:31:34 +02:00
Collaborator

Summary

Prebuild for #290 — platform page for operator's 8 bogactw self-tracking practice. Mobile-first read surface for Piotr's iPhone.

v0 = data contract + page route + static sample render. Ingestion + write-back deferred to v0.1 (operator's explicit first-slice non-goal).

Migrated from pdurlej/iskra-openclaw#57 — belongs in platform as product UI, not Iskra runtime.

What's in this PR

6-file Spec Kit + companion execution prompt:

  • 00-constitution.md — 8 principles:
    • P1 Mobile-first design discipline
    • P2 Obsidian/Markdown compatible source
    • P3 No Obsidian plugin lock-in
    • P4 Data contract before UI
    • P5 Read-only in v0
    • P6 No Iskra/OpenClaw runtime mutation
    • P7 Source decoupled from rendering
    • P8 Habit engine OUT of scope
  • 01-specify.md — problem, scope, deferred items, acceptance
  • 02-plan.md — 3-slice architecture (data contract, page route + render, edge cases) with Q1-Q6 open questions
  • 03-tasks.md — per-slice tasks; JSON Schema; HTML/CSS skeleton mobile-first; client-side hand-rolled markdown with XSS guard
  • 04-implement-notes.md — dashboard module inspection, mobile design discipline (WCAG 2.1 AA, 44pt touch targets), Obsidian compatibility approach, gotchas G1-G6
  • prompts/codex-iskra-8-bogactw-dashboard.md — execution prompt with Safety / production boundary + stop conditions

Slices (forthcoming PRs)

  • (a) Data contract design — Lite — JSON Schema for 8 bogactw entry; operator confirms 8 dimension names + scale BEFORE schema commits
  • (b) Page route + render — Lite — mobile-first HTML/CSS; sample data render; touch targets ≥ 44pt
  • (c) Edge cases + docs — Lite — empty state, malformed handling, operator runbook, close-as-migrated comment on iskra-openclaw#57

Hard rule for codex

Under NO circumstances does codex invent the 8 dimension names. Operator authors. If codex tempted to fill in dimension names from inference → automatic STOP (P2 violation).

Operator coordination points

  • Slice (a.1): operator confirms 8 dimension names + score scale
  • Slice (a) review: sample fixture matches operator's actual Obsidian entry shape
  • Slice (b) mobile verification: operator tests on real iPhone
  • Slice (c) UX subjective: "looks clean enough to keep open"

Tier

Trivial per ADR-0007 (docs-only prebuild).

Operator action

Draft for review. After merge: paste prompts/codex-iskra-8-bogactw-dashboard.md to fresh codex session to begin Slice (a).

v0.1 ingestion prebuild = separate after operator uses v0 for 1-2 weeks and contract stabilizes.

Refs #290 (migrated from pdurlej/iskra-openclaw#57)

## Summary Prebuild for #290 — platform page for operator's 8 bogactw self-tracking practice. Mobile-first read surface for Piotr's iPhone. v0 = **data contract + page route + static sample render**. Ingestion + write-back deferred to v0.1 (operator's explicit first-slice non-goal). Migrated from `pdurlej/iskra-openclaw#57` — belongs in platform as product UI, not Iskra runtime. ## What's in this PR 6-file Spec Kit + companion execution prompt: - `00-constitution.md` — 8 principles: - **P1** Mobile-first design discipline - **P2** Obsidian/Markdown compatible source - **P3** No Obsidian plugin lock-in - **P4** Data contract before UI - **P5** Read-only in v0 - **P6** No Iskra/OpenClaw runtime mutation - **P7** Source decoupled from rendering - **P8** Habit engine OUT of scope - `01-specify.md` — problem, scope, deferred items, acceptance - `02-plan.md` — 3-slice architecture (data contract, page route + render, edge cases) with Q1-Q6 open questions - `03-tasks.md` — per-slice tasks; JSON Schema; HTML/CSS skeleton mobile-first; client-side hand-rolled markdown with XSS guard - `04-implement-notes.md` — dashboard module inspection, mobile design discipline (WCAG 2.1 AA, 44pt touch targets), Obsidian compatibility approach, gotchas G1-G6 - `prompts/codex-iskra-8-bogactw-dashboard.md` — execution prompt with Safety / production boundary + stop conditions ## Slices (forthcoming PRs) - **(a) Data contract design** — Lite — JSON Schema for 8 bogactw entry; **operator confirms 8 dimension names + scale BEFORE schema commits** - **(b) Page route + render** — Lite — mobile-first HTML/CSS; sample data render; touch targets ≥ 44pt - **(c) Edge cases + docs** — Lite — empty state, malformed handling, operator runbook, close-as-migrated comment on iskra-openclaw#57 ## Hard rule for codex **Under NO circumstances does codex invent the 8 dimension names.** Operator authors. If codex tempted to fill in dimension names from inference → automatic STOP (P2 violation). ## Operator coordination points - Slice (a.1): operator confirms 8 dimension names + score scale - Slice (a) review: sample fixture matches operator's actual Obsidian entry shape - Slice (b) mobile verification: operator tests on real iPhone - Slice (c) UX subjective: "looks clean enough to keep open" ## Tier Trivial per ADR-0007 (docs-only prebuild). ## Operator action Draft for review. After merge: paste `prompts/codex-iskra-8-bogactw-dashboard.md` to fresh codex session to begin Slice (a). v0.1 ingestion prebuild = separate after operator uses v0 for 1-2 weeks and contract stabilizes. Refs #290 (migrated from pdurlej/iskra-openclaw#57)
docs(specs): Iskra 8 bogactw check-in dashboard v0 prebuild for #290
All checks were successful
base-is-main / guard (pull_request) Successful in 1s
canary-required / collect-diff (pull_request) Successful in 3s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 3s
canary-required / canary (pull_request) Successful in 12s
patchwarden-pr-sanity / sanity (pull_request) Successful in 20s
50e0c8bdc5
Platform page for operator's 8 bogactw self-tracking practice. Mobile-first
read surface for Piotr's iPhone. v0 = data contract + page route + static
sample render. Ingestion + write-back deferred to v0.1 (operator's
explicit first-slice non-goal).

Migrated from pdurlej/iskra-openclaw#57 — belongs in platform as product
UI, not Iskra runtime.

Spec Kit:
- 00-constitution.md: 8 principles (mobile-first, Obsidian/Markdown
  compatible, no Obsidian plugin lock-in, data contract before UI,
  read-only in v0, no Iskra runtime mutation, source decoupled from
  rendering, habit engine out of scope)
- 01-specify.md: problem, scope (deferred items listed), acceptance
- 02-plan.md: 3-slice architecture (contract, page render, edge cases)
  with Q1-Q6 (8 dimension names operator-authored, score scale,
  frequency, framework, slug, markdown library)
- 03-tasks.md: per-slice tasks; HTML/CSS skeleton mobile-first; hand-rolled
  markdown for note field with XSS guard
- 04-implement-notes.md: dashboard module inspection, mobile design
  discipline, Obsidian compatibility approach, gotchas G1-G6

Companion execution prompt: prompts/codex-iskra-8-bogactw-dashboard.md
with explicit Safety / production boundary (P2 dimension names operator-
authored, P5 read-only, P8 no habit engine = automatic STOP triggers).

Hard rule: codex does NOT invent 8 dimension names. Operator authors
in Slice (a.1) review before schema commits.

Tier: Trivial per ADR-0007 (docs-only prebuild).

Refs #290 (migrated from pdurlej/iskra-openclaw#57)
Sign in to join this conversation.
No reviewers
No labels
W6d-automerge-calibration
agent/claude-code
agent/codex
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
automerge-candidate
class/security-sensitive
cutover-gate
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
iterating
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
large-impact
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
meta
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
needs-operator-decision
needs-triage
not-ready
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
operator-emotional
owner-attention
phase/02
phase/03
priority:p0
priority:p1
priority:p2
priority:p3
proposed
ready-for-agent
ready-for-operator
recovery
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
risk/exposure
risk/process
risk/product
risk/runtime
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:operator-needed
status:parked
tier/full
tier/lite
tier/stacked
tier:0-platform-substrate
tier:1-iskra-value-layer
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/platform!348
No description provided.