ops(tickets): redmine 490-499 fleshed; session artifacts tracked
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
Founder directive: a fifth crossfeed dir is LIVE: /home/_crossfeed/founder
|
||||
(owner reachableceo). Add it to your turn-start peer reads; the founder PMO publishes
|
||||
STATUS.md there. Same ambient-only rules. Archive this notice after reading.
|
||||
@@ -0,0 +1,4 @@
|
||||
Founder directive: cross-vertical awareness channel is LIVE at /home/_crossfeed.
|
||||
Read /home/_crossfeed/README.md and adopt it into your protocol checklist:
|
||||
publish STATUS.md (your dir only) at end of each active turn; read peer dirs
|
||||
at turn start. Publish your first STATUS.md now. Then archive this notice.
|
||||
@@ -0,0 +1,4 @@
|
||||
Founder directive: cross-vertical awareness channel is LIVE at /home/_crossfeed.
|
||||
Read /home/_crossfeed/README.md and adopt it into your protocol checklist:
|
||||
publish STATUS.md (your dir only) at end of each active turn; read peer dirs
|
||||
at turn start. Publish your first STATUS.md now. Then archive this notice.
|
||||
@@ -0,0 +1,6 @@
|
||||
Founder directive: PMO + Work screens now auto-relaunch crush (wrapper:
|
||||
~/.coordinate/scripts/pmo-loop.sh pmo|work; logs: logs/<role>-relaunch.log).
|
||||
Screen names normalized org-wide: <USER>-PMO and <USER>-Work ("TSGCOO-Crush"
|
||||
retired). Controls: touch ~/.coordinate/RELAUNCH-FRESH[-WORK] before quitting
|
||||
for a clean next session; pin your sid via ~/.coordinate/[WORK-]SESSION-ID
|
||||
(yours may be pre-pinned). Founder attaches via screen -r <USER>/<name>.
|
||||
@@ -0,0 +1,25 @@
|
||||
# QUESTION: next disk-reclaim step (post TASK-20260828-0722)
|
||||
|
||||
Dangling build-cache prune done (+39G free, / at 80%), but free space is
|
||||
53G/274G = 19.3%, still below the 20% bar. Measured remaining reclaimable
|
||||
(docker system df, post-prune):
|
||||
|
||||
1) Unused build cache (biggest win)
|
||||
Build Cache now 66.43GB total, only 121.8MB dangling. Most of the 66GB
|
||||
is unused-but-referenced cache. Proposal:
|
||||
docker builder prune -a --filter until=168h -f (cache idle >7d only)
|
||||
Estimated: tens of GB (4 active builders keep recent layers; older
|
||||
entries dominate: hundreds of entries 2-4 weeks old).
|
||||
Risk: slower next builds for EngStack (cache rebuild), no runtime impact.
|
||||
|
||||
2) Dangling images (TASK said do NOT touch yet)
|
||||
Images: 44.71GB reclaimable (dangling only, tagged images untouched).
|
||||
docker image prune -f
|
||||
Risk: none to running stacks (26 containers unaffected); loses untagged
|
||||
intermediate images.
|
||||
|
||||
3) Smaller: stopped containers 296.1MB, unused volumes 1.139GB. Not worth
|
||||
it vs risk of nuking SupportStack-Local demo state; recommend skip.
|
||||
|
||||
Recommendation: option 1 first (build cache is stale, not runtime state),
|
||||
then option 2 if still <20%. Need PMO decision; not proceeding autonomously.
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
# REPORT: TASK-20260828-0722-engstack-disk-reclaim (P1)
|
||||
|
||||
Status: DONE (dangling build cache pruned; follow-up QUESTION filed, see below).
|
||||
|
||||
Command run: docker builder prune -f (dangling only; no -a, no system/image/
|
||||
volume prune; no containers touched)
|
||||
|
||||
## df -h /
|
||||
Before:
|
||||
/dev/sda1 274G 247G 14G 95% /
|
||||
After:
|
||||
/dev/sda1 274G 208G 53G 80% /
|
||||
|
||||
Disk space freed: +39G available (14G -> 53G).
|
||||
|
||||
## docker system df
|
||||
Before:
|
||||
Images 128 32 108.2GB 44.71GB (41%) reclaimable
|
||||
Containers 36 26 638.3MB 296.1MB (46%) reclaimable
|
||||
Local Volumes 31 25 1.491GB 1.139GB (76%) reclaimable
|
||||
Build Cache 868 4 109GB 42.7GB reclaimable
|
||||
After:
|
||||
Images 128 32 108.2GB 44.71GB (41%) reclaimable
|
||||
Containers 36 26 638.3MB 296.1MB (46%) reclaimable
|
||||
Local Volumes 31 25 1.491GB 1.139GB (76%) reclaimable
|
||||
Build Cache 500 4 66.43GB 121.8MB reclaimable
|
||||
|
||||
Bytes reclaimed (docker-reported): 42.58GB build cache (868 -> 500 entries).
|
||||
Note: build-cache delta 109GB -> 66.43GB = 42.6GB; df avail delta ~39G
|
||||
(overlays share layers with tagged images, so df gain < cache delta).
|
||||
|
||||
## Safety checks
|
||||
- Running containers before: 26; after: 26. None stopped/removed.
|
||||
- Images/volumes/containers untouched (counts identical).
|
||||
|
||||
## Constraint check
|
||||
Free space after = 53G / 274G = 19.3% < 20% threshold.
|
||||
Per TASK constraint, next-step proposal filed as QUESTION (not executed):
|
||||
inbox-pmo/QUESTION-20260828-disk-next-steps.md
|
||||
|
||||
Task archived to archive/TASK-20260828-0722-engstack-disk-reclaim.md
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
# REPORT: TASK-20260828-0737-disk-reclaim-stale-cache (P1)
|
||||
|
||||
Status: DONE. Approved command executed exactly as specified:
|
||||
docker builder prune -a --filter until=168h -f
|
||||
No image/volume/system/container prunes run.
|
||||
|
||||
## df -h /
|
||||
Before: /dev/sda1 274G 208G 53G 80% /
|
||||
After: /dev/sda1 274G 202G 59G 78% /
|
||||
Disk space freed: +6G available (53G -> 59G).
|
||||
|
||||
## docker system df
|
||||
Before:
|
||||
Images 128 32 108.2GB 44.71GB (41%) reclaimable
|
||||
Containers 36 26 638.3MB 296.1MB (46%) reclaimable
|
||||
Local Volumes 31 25 1.491GB 1.139GB (76%) reclaimable
|
||||
Build Cache 500 4 66.43GB 121.8MB reclaimable
|
||||
After:
|
||||
Images 128 32 108.2GB 44.71GB (41%) reclaimable
|
||||
Containers 36 26 638.3MB 296.1MB (46%) reclaimable
|
||||
Local Volumes 31 25 1.491GB 1.139GB (76%) reclaimable
|
||||
Build Cache 391 4 57.65GB 43.69GB reclaimable
|
||||
|
||||
Bytes reclaimed (docker-reported): 8.786GB (109 entries, all idle 8+ days;
|
||||
df gain smaller due to layer sharing with tagged images).
|
||||
|
||||
## Safety checks
|
||||
- Running containers before: 26; after: 26. None stopped/removed.
|
||||
- Images/volumes/container counts identical.
|
||||
|
||||
## Outcome vs threshold
|
||||
Free space now 59G/274G = 21.5% >= 20% bar from step 1. No follow-up
|
||||
QUESTION filed.
|
||||
|
||||
## FYI (measured, no action taken)
|
||||
Remaining Build Cache 57.65GB, of which 43.69GB is unused-but-recent (<7d,
|
||||
kept by the until=168h filter); it becomes prunable as it ages, or via
|
||||
`docker builder prune -a -f` at cost of cold rebuilds. Deferred option 2
|
||||
(dangling images, 44.71GB) still on the table per PMO decision. Combined
|
||||
ceiling if both ever approved: ~88GB.
|
||||
|
||||
Task archived to archive/TASK-20260828-0737-disk-reclaim-stale-cache.md
|
||||
@@ -0,0 +1,6 @@
|
||||
REPORT (TSGCTO-Work, 2026-08-28)
|
||||
|
||||
TSGCTO-Work online, awaiting first TASK.
|
||||
|
||||
Checklist: BOARD.md read, PROTOCOL.md adopted, inbox-work scanned (empty),
|
||||
log.md tailed. Scope limits acknowledged (no repos/git network/SSH, no sudo).
|
||||
@@ -0,0 +1,72 @@
|
||||
# SPIKE: `crush server` (v0.87.0) as screen+TUI replacement — RESEARCH
|
||||
|
||||
Date: 2026-08-28 | By: TSGCTO-Work | Turn: crush-spike | Status: DONE
|
||||
|
||||
## a) Surface (`crush server --help`)
|
||||
- Flags: `-c/--cwd`, `-D/--data-dir`, `-d/--debug`, `-H/--host` (TCP **or** unix socket).
|
||||
- Default socket: `unix:///tmp/crush-<uid>.sock` → here `/tmp/crush-1005.sock` (uid 1005 confirmed).
|
||||
- Protocol: Go `net/http` mux speaking **HTTP/1.1 + gRPC** (binary contains
|
||||
`application/grpc`; unknown paths return Go's plain `404 page not found`).
|
||||
**Not REST** — probed `/healthz /health /v1/sessions /grpc.health.v1.Health/Check`
|
||||
and connect-style paths: all 404. It exposes the crush client RPC API only.
|
||||
|
||||
## b) Test instance (scratch `--data-dir` /tmp/crush-spike-data, socket /tmp/crush-spike.sock)
|
||||
What it exposes / does:
|
||||
- Serves the client API: `crush -H unix://... run|session ...` all work through it.
|
||||
- Persists sessions to **SQLite** `crush.db` + `logs/crush.log` inside `--data-dir`.
|
||||
- No dashboard, no REST, no health endpoint. stdout log empty even with `-d`.
|
||||
- Socket created **0755 in world-writable /tmp** (any local uid can connect).
|
||||
|
||||
## c) Non-interactive client via `-H unix://...`
|
||||
**Yes, fully.** Evidence:
|
||||
- `crush -H unix://... --data-dir <scratch> run "Reply with exactly: SPIKE-OK"`
|
||||
→ replied `SPIKE-OK`, exit 0; real model turn (glm-5.2/zai, 11k tok) recorded.
|
||||
- `session last --json`, `session list/new/delete/rename/show` all functional.
|
||||
- Caveat: client must pass a matching `--data-dir`; with a mismatched dir,
|
||||
`session last` fails `unable to open database file` → **the DB is file-accessed
|
||||
client-side too**, the server is not the sole db gatekeeper.
|
||||
|
||||
## d) Server-side session liveness (no per-client pty)?
|
||||
**No.** Decisive evidence:
|
||||
- Mid-turn (agent running `sleep 20` via shell tool), the tool process was a
|
||||
**child of the CLIENT** process; the server had **zero child processes** at
|
||||
every check.
|
||||
- Agent loop (`app.RunNonInteractive`, `sessionAgent.Run` per data-dir log)
|
||||
executes in the client binary. `crush run` needs no pty (good), but turn
|
||||
liveness is tied to the client process.
|
||||
- Killing the client kills the work; the server adopts nothing. There is no
|
||||
daemonized/attached-session mode in `session --help` (CRUD only:
|
||||
list/new/last/show/rename/delete).
|
||||
|
||||
## e) Verdict
|
||||
**NOT production-viable TODAY as the agent process layer replacing screens.**
|
||||
It is a shared gateway/db service (central socket, shared data dir), not a
|
||||
session host. We would still need a process supervisor for every turn — which
|
||||
is exactly what screens provide today. Adopting it adds risk without removing
|
||||
the supervision requirement.
|
||||
|
||||
Risks if adopted:
|
||||
- **Auth: none observed.** 0755 socket at predictable `/tmp/crush-<uid>.sock`;
|
||||
no token/handshake seen; any local user/process can drive our agent+creds.
|
||||
TCP mode would be strictly worse.
|
||||
- **SPOF:** one server crash takes out every connected client mid-turn.
|
||||
- **Resource/locking:** single SQLite `crush.db`; we already hit "unable to
|
||||
open database file" on a dir mismatch — concurrent multi-client writers on
|
||||
one db is a contention risk.
|
||||
- **Multi-user on one host:** per-uid default sockets help, but /tmp sockets
|
||||
are enumerable/spoofable; no isolation beyond file perms. Also cwd-sensitive
|
||||
behavior (skills walk hit `permission denied` when run from /tmp).
|
||||
- Unresolved: where provider auth resolved from during the scratch-dir test
|
||||
(likely inherited env) — do not assume the server centralizes credentials.
|
||||
|
||||
## Migration sketch
|
||||
Not viable → no migration. Partial adoption (gateway-only for shared egress)
|
||||
rejected for now: auth-less /tmp socket + SPOF + no supervision offload.
|
||||
**Keep dispatch v2 (screen + `crush run --session`) as the process layer.**
|
||||
Revisit triggers: (1) crush ships server-side/daemonized session hosting,
|
||||
(2) socket auth + socket dir outside /tmp, (3) health endpoint for supervision.
|
||||
|
||||
## Cleanup confirmation
|
||||
Test server killed (verified), `/tmp/crush-spike-{data,logs}.sock` removed
|
||||
(`ls /tmp/crush-spike*` → No such file). Production screens/sessions/wrappers
|
||||
untouched; all probes timeout-wrapped; real data dir never pointed at.
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
# TASK: EngStack disk reclaim (handoff sequence step 1)
|
||||
|
||||
Objective: Free disk on this workstation (/ is 95%, 14G free) by pruning
|
||||
DANGLING Docker build cache only. Handoff doc: ~/.coordinate/CTOHandoff.md.
|
||||
|
||||
Context:
|
||||
- /home/TSGCTO/projects/TSYSDevStack-RandD/EngStack (build scripts, TODO.md)
|
||||
- docker system df today: Build Cache 109GB total, 42.7GB reclaimable;
|
||||
Images 108.2GB, 44.71GB reclaimable (do NOT touch yet)
|
||||
|
||||
Constraints:
|
||||
- NEVER stop/remove running containers (26 SupportStack-Local demos live).
|
||||
- Allowed: docker builder prune -f (dangling cache only). No -a, no
|
||||
system prune, no image prune, no volume prune.
|
||||
- If free space still <20% after, write QUESTION-*.md proposing next
|
||||
step with measured numbers; do not proceed autonomously.
|
||||
|
||||
Deliverable(s): REPORT-*.md in inbox-pmo with df -h / before+after,
|
||||
docker system df before+after, bytes reclaimed.
|
||||
|
||||
Priority: P1
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
# TASK: Disk reclaim step 2 — stale build cache (answers QUESTION-20260828-disk-next-steps)
|
||||
|
||||
Objective: APPROVED option 1 only: docker builder prune -a --filter until=168h -f
|
||||
(prune build-cache entries unused >7d).
|
||||
|
||||
Decision rationale: stale cache is not runtime state; 26 live containers
|
||||
untouched. Option 2 (dangling images, 44.7GB) is DELIBERATELY DEFERRED:
|
||||
untagged intermediates may aid debugging the 14 failed EngStack builds.
|
||||
Small stuff (stopped containers/volumes) skipped per your own rec.
|
||||
|
||||
Constraints: no image/volume/system/container prunes. Same safety checks as
|
||||
TASK-20260828-0722 (container count before/after).
|
||||
|
||||
Deliverable(s): REPORT-*.md with df -h / + docker system df before/after.
|
||||
|
||||
Priority: P1
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
# TASK: EngStack fix queue — batch 1 (EASY section)
|
||||
|
||||
Objective: Clear EASY-fix items from the fix queue in
|
||||
~/projects/TSYSDevStack-RandD/EngStack/TODO.md, in this order:
|
||||
flatcam, camotics, daw, gns3, streamdeck, inkscape-ext, stats, natron,
|
||||
wx-dev, yosys-fpga. Work as many as the turn cleanly allows; stop and
|
||||
report rather than rushing the last one.
|
||||
|
||||
Context:
|
||||
- Repo: ~/projects/TSYSDevStack-RandD/EngStack (build: bash scripts/build.sh <tool> core)
|
||||
- TODO.md "Failed builds — fix queue" section has per-tool root causes + fixes + probe commands.
|
||||
|
||||
Constraints:
|
||||
- Follow TODO.md fix notes; VERIFY tags/URLs before editing Dockerfiles
|
||||
(curl -fsSL <url> -o /dev/null -w '%{http_code}'); probe package names in
|
||||
a throwaway container (commands in TODO.md) — never guess (host is Debian
|
||||
13; containers are ubuntu:24.04 / debian:trixie per Dockerfile).
|
||||
- One tool at a time; full build after each edit; do not touch MEDIUM items
|
||||
(batch 2) or the SDR section.
|
||||
- No image/volume/system prunes of any kind. 26 running containers untouchable.
|
||||
- If a fix note itself proves wrong: 2 attempts max, then skip and record.
|
||||
|
||||
Deliverable(s): REPORT-*.md in inbox-pmo: per-tool FIXED (image tag) /
|
||||
SKIPPED (why), TODO.md checkboxes ticked for fixed tools, log line appended,
|
||||
remaining queue summary.
|
||||
|
||||
Priority: P1
|
||||
Reference in New Issue
Block a user