Sprint: clips land in web-clip with raw/ at zero — acceptance first (supersedes #205 steps 1–5) #209
Open
opened 2026-10-20 17:49:41 +00:00 by mathias
·
1 comment
No Branch/Tag Specified
main
wt/client-pattern
wt/legacy-move
wt/web-clip
wt/watcher-write-safety
wt/wing-layout
wt/inbox-zero
fix/pipeline-writes-158
fix/edit-path-io-192
fix/create-regular-188
fix/guard-special-179
fix/linkcheck-keeps-write-178
fix/write-dir-redirect-173
fix/tunnel-detect-174
fix/pipeline-root-157
w3/154-mcp-auth-wiring
fix/tunnel-traversal
test/in-brain-targets-171
fix/brain-scan-root-157
fix/graph-wiki-root-157
fix/vectorstore-root-157
fix/notes-root-157
fix/search-root-157
fix/brainwide-root-157
fix/raw-symlinks-153
feat/symlink-tripwire-157
fix/rest-auth-149
fix/123-brain-edit-envelope-check
feat/106-page-aware-extraction
fix/105-source-drift-on-main
fix/104-surface-merge-conflicts-on-main
agent/b1-compile-on-ingest
agent/104-surface-merge-conflicts
agent/105-source-drift
agent/107-loud-unconfigured-alerting
feat/brain-read-edit
fix/capture-i1-refusal-names-target
renovate/configure
feat/consolidate-single-harness
icebox/cmd-routing
feat/brain-pending-promote
fix/close-session-classification-refresh
fix/capture-summarywriter
v0.25.0
v0.24.0
v0.23.1
v0.23.0
v0.22.0
v0.21.1
v0.21.0
v0.20.1
v0.20.0
v0.19.1
v0.19.0
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.0
v0.16.1
v0.16.0
v0.15.0
v0.14.0
v0.13.2
v0.13.1
v0.13.0
v0.12.1
v0.12.0
v0.11.2
icebox/cmd-routing-2026-07-01
v0.11.1
v0.11.0
v0.10.0
v0.9.0
v0.8.0
v0.7.0
v0.6.0
v0.5.0
v0.4.1
v0.4.0
v0.3.0
v0.2.0
v0.1.0
Labels
Clear labels
agent/ready
blocked/client
blocked/supplier
blocked/upstream
risk/high
risk/low
risk/medium
size/l
size/m
size/s
size/xs
status:dispatch
status:dispatched
status:review
status:reviewing
type/chore
type/decision
type/docs
type/feat
type/fix
type/ops
type/research
type/test
Meets the agent-ready contract; authorizes unattended execution
Waiting on the client
Waiting on a supplier
Waiting on an upstream project or vendor
Irreversible, security-relevant, or control plane
Reversible, local, test-covered
Touches shared state, deploys or data
Too big - split it
Under two days
Under half a day
Under an hour
Maintenance, no behaviour change
Human decision required; never agent/ready
Documentation only
New capability
Corrects broken behaviour
Infrastructure, deploy, runtime
Investigate; output is a finding, not code
Test coverage only
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: mathias/hyperguild#209
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal (observable): drop a clip into
raw/-> it appears as a page underwiki/web-clip/sources/, shared concepts/entities are updated once (no per-wing duplicates),raw/is empty again, nothing client-related is ever auto-placed. Falsified if >20% of web-clip items are moved by hand in two weeks.Pattern: Sweep Sprint — read-only research per issue first (read bodies AND comments), then sequential one-issue-per-commit, test first, each PR independently gatekept. Context: #205 (plan), #208 (defects + direction), skills#56.
Needs Mathias before start
A. Amend brain CLAUDE.md:
wiki/concepts+wiki/entitiesbecome the shared cross-wing layer (currently "retired").B. Delete the 25
tunnel-candidates-*pages from wiki/sources (git keeps them).C. Leave the 15 legacy notes/project pages untouched (list exceptions).
D. Remove the dead classifier/scorer now vs keep dormant 2 weeks (agent recommends remove).
E. Merge approval for this sprint's PRs (previous standing approval ended with the last sprint).
Sprint backlog (order = dependency)
web-clip; decouple from classification.yaml; client content check before extraction (reuse the CLAUDE_INGEST_CLIENT_BLOCK mechanism from claudewatcher — currently NOT applied to raw/).brain_promote/brain_rejectreadraw/needs-review/.stuckkey by (path,size,mtime), duplicate archive copy after a changed note, empty-frontmatter note, park-failure error spam.rejected/+ generic link to the trucker Google Ads incident note (no client detail in brain); 6 older clip dispositions; brain notes (see below); tag; clean 3 worktrees; amend brain CLAUDE.md (A).Explicitly NOT in this sprint
syncthing.service(user unit) failed since 2026-10-06 while two syncthing processes run — investigate, host-side.Brain notes to write at close (generalised, no tooling-specific rationale)
Created via git-mcp on behalf of @mathias
Decisions (Mathias, 2026-10-20, "kör med standardvalen"): A yes (concepts/entities = shared cross-wing layer; brain CLAUDE.md to be amended at close-out). B yes (delete the 25
tunnel-candidates-*pages, via a reviewed commit, git keeps them). C yes (the 15 legacy notes/project pages stay untouched). D yes (remove the dead classifier/scorer). E yes — merge approval for this sprint's PRs (risk/medium, green CI on the head commit, independent pr-gatekeeper pass with no blocker). Does not extend beyond this sprint.Routing design settled before coding (so PRs don't relitigate it):
wing.Router, no LLM. (1) subfolder/frontmatter wing -> must be a plain name of an EXISTING wing (typo never creates one), else parked; conflicting signals parked. A deliberate subfolder is not gated by classification.yaml or a client list (extraction runs on the local model). (2) No signal -> content checked against the client-marker regex; a match parks, otherwiseweb-clip(the only wing created automatically). (3) Wings are read fresh from disk on each decision (fixes the read-once Known list). Satisfies the existingResolveshape, so the watcher change is small.PR plan: PR-A watcher write safety (#158, #198, #199 + residuals). PR-B acceptance test + shared concepts/entities + Router + promote reads needs-review + dead code removal. PR-C source migration (manifest, dry-run). PR-D close-out.
Created via git-mcp on behalf of @mathias