CYCLE.md
Cycle 143: Loose Ends
Created: 2026-11-12
Status: parked 2026-11-12. The merge sweep is done; the longer-running loose ends wait in PICKUP.md.
Focus: Every thread's new work merged into main and pulled locally, across design, qnative, the layer and the sister repos, with conflicts untangled by hand, and one place that holds what is still open.
Mode: formula (the same sweep every time: survey, sort, merge, pull, clean up), with archaeology for the uncommitted work found in the trees.
Lineage: Mark's prompts, 2026-11-12 → initial-prompt.md. The sweep ran in one session; this record and the pickup note were written at its end.
Why
The week ran many sessions in parallel: c130's program (c131–c139 and qnative c2–c7), c133's phases, cloud sessions for c139 and the c138 footprint page. In theory a cycle's work stays in its own folder and pages. In practice cycles edit the same shared files (cycles/CYCLES.md, page-registry.ts, the capture manifests, the story modules, qnative's shell.rs), so PRs conflicted, record commits sat on local branches, and captures sat uncommitted in the tree. Mark's rule for the sweep: get all the new work into main, untangle conflicts by hand, accept that a rare one may not untangle, and list cleanup and redo afterwards.
The shape
- The problem: work that is done but not on main is invisible to the next session, the deploy and the team.
- The core idea: one sweep, repo by repo: open PRs, unpushed commits, branches with no PR, uncommitted work. Each one is merged, pushed, kept on purpose, or listed for a decision.
- The pattern: conflicts in shared index files resolve by keeping both sides. Main's newer entry wins where both rewrote the same line, and the branch's addition goes beside it. Generated manifests merge by entry (keyed by
fileplusvariant), never by text. - What stays open: everything in
PICKUP.md.
Objective
All of the week's threads merged into main and every local main even with origin; cleanup done where nothing is running; what is left written down where the next session finds it.
Scope
- In: design, qnative, q-nuxt-layer, intents, market-analyst, qcontrol (
feat/new-pagesonly), bob-wire, qflow, www.qpoint.io, qmap; open PRs, unpushed commits, unmerged branches, worktrees, uncommitted work. - Out: other people's PRs in qcontrol; app.qpoint.io (stale); merging into qcontrol
main.
Key Changes
- sweep (2026-11-12):
- design main: the c138 "call 14 closed" record rebased over #19 and pushed (
a91731f0a7). Conflict incycles/c138.developer-mode/CYCLE.md: the record's newer Review stop 3 line kept, and #19's footprint-page bullets kept below it. A local reorder ofpublic/cycles/design/manifest.jsonwith no content change was dropped to let the pull through. - design#18, c133 record sketch: rebased and merged (
4453a8c085). Conflicts inapp/data/stories/c133.tsandcycles/c133.remediation-training/CYCLE.md. Main's later story kept (Phases 3–5, record counts, pickup), withrecord-sketchadded to the outcomes andrecordSketchto the captures. The Documents line gained the Tyler walk link. Key Changes holds the Tyler walk bullet and main's Phase 3–4 bullets. - design#20, c139 Updates: a cloud session's branch with no PR. A PR was opened, rebased and merged (
5e12709e36). Conflicts:page-registry.ts: both collapse entries kept.cycles/CYCLES.md: c139's entry placed above main's current c138 entry.- The design manifest: main's 786 entries plus c139's 17.
- design main, c4 and c6 captures: 25 qnative captures (c4 inbox and messages settings, c6 info-panel toggles), their manifest entries and c6's shot program were left uncommitted by their threads; committed as
416de93c6a. - qnative main: c3's review-stop-3 record (
7800b25, on localc3/phasesonly) cherry-picked ase609f42. - qnative#1, c7 Web Rail: rebased and merged as
e3ffc94, squashed like #2. The ruleset wants a review, so it was merged through the owner bypass, as #2 was. Conflict incrates/app/src/shell.rs: c7'sRailSectionrail kept. c6's Dev-group cyan moved into it as atinton the section, withextensions::shownpassing each group's id. Workspace build and tests clean, lean check passed, CI green on Linux, macOS and Windows. - qnative local main: a live session in
qnativehad fast-forwarded local main to the unsquashed c7 branch. Its tree is identical toe3ffc94, so themainref was moved there by compare-and-swap. No file or index entry changed under that session. - Pushed:
- q-nuxt-layer main
e7e1454: PolicyTag "Off". Not released. - The 0.9.36 lockfile bump on qdash
feat/new-pages, bob-wirec16-agent-control-plane, qflowai-ecosystem-visualizationsand wwwdisable-dark-mode.
- q-nuxt-layer main
- Pulled:
- intents (#6).
- rulekit, qtap and firebase, by fast-forward.
- The local main branches of qcontrol, qpoint, qflow and www.
- design main: the c138 "call 14 closed" record rebased over #19 and pushed (
- cleanup (2026-11-12):
- Remote branches deleted:
- design:
claude/funny-thompson-jy9h9x(#18),claude/brave-knuth-7qzxem(#20),claude/sleepy-maxwell-miy81p(#19),c81/phase1-pages(#13). - qnative:
claude/bold-tesla-gpb6u1(#1),claude/c6-lean-marker(#2).
- design:
- Local branches deleted:
- design:
claude/jovial-dubinsky-36e37e(its c129 record is on main in a later form),c81/phase1-pages. - qcontrol:
backup/feat-new-pages-pre-rebase,backup/feat-new-pages-pre-rebase-1005, and seven branches whose remotes were gone, each with a merged PR (#391, #465, #521, #616, #642, #648, #667). - qmap: the three April
claude/*branches, all in main.
- design:
- Worktrees removed:
qcontrol-c112(clean; its branch stays, local only) and three clean qmap worktrees. - Restore points for the deleted branches are in PICKUP.md.
- Kept because something is running or something would be lost: listed in PICKUP.md.
- Remote branches deleted:
- quick wins, walked with Mark (2026-11-12, later):
- The c133 record sketch captured (
1d353daad0). c112/demo-containerandc113/baked-demopushed to origin.- qcontrol#692 closed:
feat/new-pagesalready carries the index. - app.qpoint.io #247, #238 and #166 closed as superseded.
- The two old native app copies quit and the c6 session archived. Then the three qnative worktrees (~116 GB) and their branches were removed.
- market-analyst's 19 internal calls kept local, hidden through
.git/info/exclude. - design's nested c3 move reverted.
- www's checkout moved to
main, anddisable-dark-modedeleted locally and on origin. update-consumers.shno longer bumps app.qpoint.io or www (layerdb128d4,f581e09).
- The c133 record sketch captured (
- the Monitor's shapes reconciled (2026-11-12, later, on Mark's word): asked after a report on what of Kamal's monitor TUI reached the native app. c138's Guide page 4 had asked for richer copies of SensorState, Resources and LogLine than the bridge types, and for health and loaded targets beside facts D17's shapes already carry. Now one ask per route:
- design
app/data/worlds/bridge/types.ts(and its README): the Monitor's fields, all optional, on/api/sensorand/api/config; - qnative:
crates/types/src/bridge.rsmirrors them, with two tests;guide/types/monitor.tskeeps only workers and processes, andmonitor.rsis regenerated; Guide pages 3 and 4 rewritten; c3's record; - design records: c138's plan and CYCLE.md, c131's
synthetic-data.md, c134'skamal-prep.md.
- design
- the bridge's config file made qcontrol's (2026-11-12, later, on Mark's word): the four bridge fixtures said
~/.config/qcontrol/config.tomlwith TOML keys (mode,plugins,egress) that qcontrol has never read. qcontrolmain(8677b44ed) readsconfig.yamlfrom the same directory, and qconfig rejects any top-level key butinclude,sinks,ui,behaviorsandtargets.minimal,meridian-day90andpilotnow carry aconfig.yamlin qconfig's schema: the stock document'sauditbehavior on an "All harnesses" target, and inpilotan OpenShell behavior for the egress allowlist plus the proposedit_contact, marked as proposed.effective.pluginsnames real plugins (io-events,llm-events,mcp,sentinel,openshell) in place oftelemetry;fresh's log line names the stock document.- Checked by loading the texts with qconfig built from qcontrol
mainin a scratch worktree (since removed):minimal's andmeridian-day90's load as written,pilot's onceit_contactis taken out (qconfig: "unknown fieldit_contact"), so that key is part of the ask. - The lab's Sensor page says "No config.yaml" and shows what the stock document holds when there is no file;
types.ts,bridge.rsand the bridge README say what each field means against qcontrol. Captures of the Sensor page taken before today still show the TOML.
- everything outstanding pushed (2026-11-12, evening, on Mark's word: "push this and anything else outstanding. Be sure to update histories and push supporting app pages"):
- Histories first: c138's story (it still said nothing was built), design's CYCLES.md lines for c138 and c143, qnative's CYCLES.md (c3 said "no code yet"; c8 pushed), c8's record, devmode's header (four pages, not two); the c130 PNG committed (
b0979ad28d, qnative9628a2a). - Pushed: design main (
b0979ad28d), qnative main (9628a2a, with c8's five commits and the scorecard), qmap main (29b3de2, its 15); www fast-forwarded. qmap#4 closed as superseded. - Deployed twice:
23fed8856e(design169e0b867a) after the pushes, and lateraf19753d92(designe74e06fbe3, nothing uncommitted) once the evening's training work was in. - Left alone: older side branches whose unpushed commits are already in their main (design
c123/owasp-agentic-tour, the layer'sc1-figma-library-integration, market-analyst's board-analysis branch, bob-wirecycles.2-5anddeploy-readiness); qcontrolfeat/qdash-nuxt-redesign, which tracks qcontrolmain(never pushed there); the uncommitted work of other sessions.
- Histories first: c138's story (it still said nothing was built), design's CYCLES.md lines for c138 and c143, qnative's CYCLES.md (c3 said "no code yet"; c8 pushed), c8's record, devmode's header (four pages, not two); the c130 PNG committed (
- trainings, the same evening (on Mark's word, before a demo): the trainings page links each training to its prototype; the quiz questions reworded; the trainings taken in the native app as qnative c9 (built to the lab mock, the scenes captured from the lab); all recorded in c133 and qnative c9, pushed (design
e74e06fbe3, qnative8f1222e) and deployed.
Outcome
Open. All of the week's threads are on main, and every local main is even with origin (qmap's 15 commits pushed later the same day). What is still open is in PICKUP.md. The cycle closes when that list is empty or each row is ruled.