Skip to content
22 changes: 22 additions & 0 deletions .agents/skills/minesweeper-pr-hygiene/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: minesweeper-pr-hygiene
description: Detect and neutralize overlapping agent PRs (minesweeper). Prefer extract slices over wholesale merge. Triggers on minesweeper, overlapping PRs, dirty mega, Jules 80+ file PRs.
---

# Skill: minesweeper-pr-hygiene

## Signals

- `changed_files >= 40` on a bot PR
- `mergeable_state=dirty` against a moved master
- Multiple skills-record PRs stacked on stale SHAs
- Title says "fix X" but diff touches unrelated dashboards/docs/workflows

## Response

1. Do **not** merge.
2. Label mentally as EXTRACT or HOLD.
3. Reconstruct the intended slice from master.
4. Close as superseded only after the extract lands.

#630 this session: 89 files, dirty, Jules dashboard fallback — extract the rich-UI fallback only if still missing on master.
33 changes: 33 additions & 0 deletions .agents/skills/ml-pipeline-ops/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: ml-pipeline-ops
description: Keep-alive ML pipeline DAG for termux-monorepo. Load on Issue #175 ML lanes, moneyball ranking, extract-only #432/#601, dual-gate promote, lineage, providence. Never wholesale-merge mega ML PRs.
---

# Skill: ml-pipeline-ops

## When to load

Issue #175 matrix, labels `ML Pipelines`, PRs #432/#601, ranking PRs, lineage, moneyball.

## Hard rules

1. Extract-only for mega ML PRs. This tree (`ml/pipelines/`) is the keep-alive.
2. Dual gates before promote: `repo_gate.py` + `termux_smoke.py`.
3. No secrets, no Class 3/4 artifacts, no session stores.
4. GitLab / Vercel hobby rate-limit are **non-gate**.
5. Dirty + files>40 + minesweeper overlap → HOLD or EXTRACT, never merge.

## Commands

```text
python3 -m ml.pipelines.cli status
python3 -m ml.pipelines.cli lanes
python3 -m ml.pipelines.cli run
python3 -m unittest discover -s ml/pipelines -p 'test_*.py'
```

## Cycle

RECON → INGEST → FEATURES → TRAIN → EVALUATE → (WAIT|HOLD|EXTRACT|PROMOTE) → MONITOR

Canonical inventory addendum: `docs/ops/SKILLS-INVENTORY-ML.md`.
13 changes: 13 additions & 0 deletions .agents/skills/ml-pipeline-ops/references/stages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Stages

| id | halt |
|----|------|
| 00_recon | FAILED |
| 10_ingest | FAILED |
| 20_features | FAILED |
| 30_train | FAILED |
| 40_evaluate | FAILED |
| 50_deploy | FAILED (must not promote without dual-gate) |
| 60_monitor | FAILED |

Deploy writes a promote packet only when `contracts.gate.assert_promotable` succeeds.
28 changes: 28 additions & 0 deletions .agents/skills/operator-priority-matrix/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: operator-priority-matrix
description: Living Issue #175 operator matrix. Classify every open PR into promote/wait/hold/extract/observe. Dual-gate is the only promote path.
---

# Skill: operator-priority-matrix

Living issue: [#175](https://github.com/timerloggedout-spec/termux-monorepo/issues/175)

## Lanes

| lane | meaning |
|------|---------|
| promote | clean + dual-gate green |
| wait | unstable / in_progress / missing dual-gate |
| hold | dirty, stale, or security-sensitive until rebase |
| extract | mega / minesweeper / ML wholesale |
| observe | Jules/Bolt/Sentinel bots; do not force-merge |

## Operator rules still in force

1. No force-push to master
2. Small green rebased PRs
3. Dual gates required
4. Reject Class 3/4 artifacts
5. GitLab non-blocking
6. Continue-only Jules default
7. Maximize Actions; skip-reason on quota
9 changes: 9 additions & 0 deletions .agents/skills/operator-priority-matrix/references/lanes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Lane examples (2026-09-20)

| PR | lane | why |
|----|------|-----|
| #630 | EXTRACT | dirty, 89 files, minesweeper |
| #679 | WAIT | unstable, security extract is good but dual-gate incomplete |
| #680 | WAIT | unstable Bolt slice |
| #648 / #641 | HOLD | dirty stale skills records |
| #432 / #601 | EXTRACT | ML wholesale |
23 changes: 23 additions & 0 deletions .agents/skills/recon-cycle/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: recon-cycle
description: RECON → implement → WAIT → VALIDATE → RE-FETCH loop for operator sessions. Use with evidence-led-monorepo-ops and adaptive-wait. Triggers on recon, matrix pulse, continue, KEEP GOING.
---

# Skill: recon-cycle

## Loop

1. **RECON** — master SHA, open issues/PRs, Actions conclusions, Linear freshness, dirty vs unstable vs clean.
2. **IMPLEMENT** — smallest green extract; cite `Implements: <ITEM-ID>`.
3. **WAIT** — jobs are not terminal while queued/in_progress. Do disjoint work.
4. **VALIDATE** — dual-gate jobs + task outcome, not a green check badge alone.
5. **RE-FETCH** — never promote on a stale base SHA.
6. **REPEAT**.

## Stall classes

admission / queue / execution / effect / pagination / routing loop / minesweeper overlap.

## Comment hygiene

One matrix pulse on #175 per session. No comment-storm. No secret values.
10 changes: 10 additions & 0 deletions .github/skills/ml-pipeline-ops/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: ml-pipeline-ops
description: CI twin of .agents/skills/ml-pipeline-ops. Production reconciliation for the keep-alive DAG.
---

# CI skill: ml-pipeline-ops

Run `python3 -m unittest discover -s ml/pipelines -p 'test_*.py'` as a non-blocking job until the dual-gate workflow explicitly lists it.

Do not add GPU runners. Do not download models. Do not write secrets to artifacts.
8 changes: 8 additions & 0 deletions docs/icm/objects/ml-pipeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# ICM object — ML Pipeline

Parent: `docs/icm/CLAUDE.md`

A pipeline is a DAG of stages with typed artifacts, a moneyball scorer, and a
promote gate. It is **not** a Jupyter notebook and **not** a wholesale PR.

Related processes: `docs/icm/processes/ml-pipeline-cycle.md`.
5 changes: 5 additions & 0 deletions docs/icm/objects/priority-matrix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# ICM object — Priority matrix

Canonical living issue: GitHub #175.

Lanes: promote, wait, hold, extract, observe.
5 changes: 5 additions & 0 deletions docs/icm/processes/ml-pipeline-cycle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# ICM process — ML pipeline cycle

RECON → INGEST → FEATURES → TRAIN → EVALUATE → lane → MONITOR

Stop on FAILED. WAIT is a stage. VALIDATE requires dual-gate evidence.
5 changes: 5 additions & 0 deletions docs/icm/processes/recon-wait-validate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# ICM process — RECON / WAIT / VALIDATE

See `.agents/skills/recon-cycle/SKILL.md` and `.github/skills/production-reconciliation/SKILL.md`.

Never treat Vercel hobby 429 or GitLab mirror fail as a promote blocker.
7 changes: 7 additions & 0 deletions docs/icm/routing/ml-pipeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# ICM routing card — ML pipeline

If the task mentions ML Pipelines, moneyball, #432, #601, or keep-alive:

1. Load `ml-pipeline-ops`
2. Load `operator-priority-matrix`
3. Do not open #432/#601 diffs unless extracting a named slice
11 changes: 11 additions & 0 deletions docs/ops/ML-PIPELINES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# ML Pipelines keep-alive

Issue #175 forbids wholesale merge of #432 / #601. This document is the human
map for `ml/pipelines/`.

- DAG: `ml/pipelines/cli.py`
- Ranking: `ml/pipelines/moneyball/scorer.py`
- Gate: `ml/pipelines/contracts/gate.py`
- Skill: `.agents/skills/ml-pipeline-ops/SKILL.md`

Promote path remains **dual-gate only**.
24 changes: 24 additions & 0 deletions docs/ops/PRIORITY-MATRIX-2026-09-20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# OPERATOR Priority Matrix — 2026-09-20 10:20 PDT

**Live master:** `6b0fd29fe5eb8b75e4667a93da403ce0639af784`
**Issue:** [#175](https://github.com/timerloggedout-spec/termux-monorepo/issues/175)

## P0

| Item | Status |
|------|--------|
| Master functional gate | LIVE (Actions on tip succeeding / skipping expected) |
| Dual-gate rule | still required |
| #630 Jules 89-file | EXTRACT / HOLD dirty |
| #679 Sentinel symlink | WAIT unstable |
| #680 Bolt catalog | WAIT unstable |
| #648 / #641 | HOLD dirty |
| ML #432 / #601 | EXTRACT only — keep-alive lands in this PR |

## P1

Credential inventory #184 (notes only). GitLab / Vercel hobby non-gate.

## Operator rules

No force-push. No secret comments. One pulse on #175.
9 changes: 9 additions & 0 deletions docs/ops/SESSION-2026-09-20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Session record — 2026-09-20 (Grok Administrator)

- Authenticated as `timerloggedout-spec`.
- Recon: 109 open issues, open PR stack includes dirty Jules #630 and unstable #679/#680.
- Linear freshness: TER-71 in progress; many agent-feedback triage items stale.
- Built keep-alive ML DAG + skills (this PR).
- Did not merge dirty/unstable PRs.

Agent-Identity: Grok (Administrator)
13 changes: 13 additions & 0 deletions docs/ops/SKILLS-INVENTORY-ML.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Skills inventory addendum — ML + recon (2026-09-20)

Adds (do not delete the parent inventory):

| Skill | Path |
|-------|------|
| ml-pipeline-ops | `.agents/skills/ml-pipeline-ops/SKILL.md` |
| ml-pipeline-ops (CI) | `.github/skills/ml-pipeline-ops/SKILL.md` |
| recon-cycle | `.agents/skills/recon-cycle/SKILL.md` |
| operator-priority-matrix | `.agents/skills/operator-priority-matrix/SKILL.md` |
| minesweeper-pr-hygiene | `.agents/skills/minesweeper-pr-hygiene/SKILL.md` |

Admin load order: `evidence-led-monorepo-ops` → `recon-cycle` → `operator-priority-matrix` → `ml-pipeline-ops`.
13 changes: 13 additions & 0 deletions docs/proposals/active/approxination-integration/MANIFEST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
id: approxination-integration
title: "Approxination skill search/create/contribute + A/B/C/D evaluation cohort"
author: grok
posted_at: 2026-09-18
status: executing
priority: P1
---

# MANIFEST — approxination-integration

Keep-alive registration so `scripts/proposals/validate_registry.py` can pass.
Canonical skill: `.agents/skills/approxination-lane/SKILL.md`.
7 changes: 7 additions & 0 deletions docs/proposals/active/auditengine-adapt/ITEMS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Items — auditengine-adapt

| id | status | note |
|----|--------|------|
| AE-001 | todo | Fork + pin after cost-of-remembering lane |
| AE-002 | todo | Knowledge/operations card |
| AE-003 | todo | Dual-gate PR slice |
13 changes: 13 additions & 0 deletions docs/proposals/active/bifrost-gateway-integration/MANIFEST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
id: bifrost-gateway-integration
title: "Bifrost AI gateway + benchmarking forks — RECON, catalog, provider path"
author: grok
posted_at: 2026-09-18
status: executing
priority: P1
---

# MANIFEST — bifrost-gateway-integration

Keep-alive registration so `validate_registry.py` can pass.
See RECON.md and BENCHMARK-SMOKE.md in this directory.
4 changes: 4 additions & 0 deletions docs/proposals/active/ml-pipeline-keep/DEBATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Debate log

2026-09-20 — Grok Administrator: wholesale ML PRs stay extract-only per #175.
Keep-alive DAG is the allowed slice. No GPU. No secret features.
8 changes: 8 additions & 0 deletions docs/proposals/active/ml-pipeline-keep/ITEMS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Items

| id | status | note |
|----|--------|------|
| MLP-KEEP-001 | executing | DAG + scorer + tests |
| MLP-KEEP-002 | todo | Wire unittest discover into a non-blocking GHA job |
| MLP-KEEP-003 | todo | Extract rich-UI fallback from #630 if still missing |
| MLP-KEEP-004 | todo | Rebase #679 Sentinel symlink once dual-gate green |
17 changes: 17 additions & 0 deletions docs/proposals/active/ml-pipeline-keep/MANIFEST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
id: ml-pipeline-keep
title: "ML pipeline keep-alive DAG (extract-only vs #432/#601)"
author: grok
posted_at: 2026-09-20
status: executing
priority: P1
---

# MANIFEST — ml-pipeline-keep

Extract-only keep-alive for Issue #175 ML lanes.
Do not wholesale-merge #432 or #601.

DAG: `ml/pipelines/`
Skill: `.agents/skills/ml-pipeline-ops/SKILL.md`
Gates: repo-gate + termux-smoke
8 changes: 8 additions & 0 deletions docs/proposals/active/ml-pipeline-keep/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Proposal: ml-pipeline-keep

Keep the ML lane alive with a small dual-gate-safe DAG instead of merging #432/#601.

Status: executing
Priority: P1
Issue: 175
Implements: MLP-KEEP-001
5 changes: 5 additions & 0 deletions docs/proposals/active/ml-pipeline-keep/REVIEW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Review log

- CodeRabbit: requested on PR open (human author, not Jules bot skip).
- Dual-gate: must pass before merge.
- Qodo / Devin: optional; Devin trial currently expired on peer PRs.
60 changes: 59 additions & 1 deletion docs/proposals/registry.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ArchW1z proposal registry — agents read this first
version: 1
updated_at: "2026-09-18T21:55:00Z"
updated_at: "2026-09-20T21:10:00Z"
updated_by: grok-administrator

proposals:
Expand Down Expand Up @@ -279,6 +279,64 @@ proposals:
related_branches: [proposal/archwiz-ui-protocol-clean]
gates_required: [repo-gate, termux-smoke]

- id: ml-pipeline-keep
title: "ML pipeline keep-alive DAG (extract-only vs #432/#601)"
author: grok
status: executing
priority: P1
path: active/ml-pipeline-keep/
reviewers:
- id: grok
role: author+executor
status: executing
- id: timerloggedout-spec
role: operator-authorizer
status: requested
related_issues: [175, 432, 601]
related_prs: [682]
related_branches: [ops/ml-pipeline-keep-20260920]
gates_required: [repo-gate, termux-smoke]

- id: cost-of-remembering-integration
title: "RinDig cost-of-remembering_fork ICM evidence lane"
author: timerloggedout-spec
status: executing
priority: P1
path: active/cost-of-remembering-integration/
reviewers:
- id: timerloggedout-spec
role: operator-authorizer
status: accepted
related_prs: []
related_branches: [feat/rindig-cost-of-remembering-icm]
gates_required: [repo-gate, termux-smoke]

- id: mcp-hub-risk-split
title: "mcp-hub / hub_mcp risk split"
author: timerloggedout-spec
status: executing
priority: P1
path: active/mcp-hub-risk-split/
reviewers:
- id: timerloggedout-spec
role: operator-authorizer
status: accepted
related_prs: [442]
gates_required: [repo-gate, termux-smoke]

- id: auditengine-adapt
title: "RinDig AuditEngine (Ethics Engine) adapt pass"
author: timerloggedout-spec
status: draft
priority: P2
path: active/auditengine-adapt/
reviewers:
- id: timerloggedout-spec
role: operator-authorizer
status: accepted
related_prs: []
gates_required: [repo-gate, termux-smoke]

- id: vercel-lane-topology
title: "Vercel deployment lane topology: legacy project fate, mcp-multi-host retirement, lanes registry"
author: Claude
Expand Down
1 change: 1 addition & 0 deletions ml/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""ML keep-alive package."""
Loading
Loading