Compare commits

..

1 Commits

Author SHA1 Message Date
1bc9b1e7f8 fix: Standardize training Makefile on python3
Some checks failed
Architecture Lint / Linter Tests (pull_request) Successful in 38s
Smoke Test / smoke (pull_request) Failing after 33s
Validate Config / YAML Lint (pull_request) Failing after 25s
Validate Config / JSON Validate (pull_request) Successful in 23s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 1m25s
Validate Config / Shell Script Lint (pull_request) Failing after 39s
Validate Config / Cron Syntax Check (pull_request) Successful in 18s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 19s
Validate Config / Playbook Schema Validation (pull_request) Successful in 34s
PR Checklist / pr-checklist (pull_request) Failing after 11m17s
Architecture Lint / Lint Repository (pull_request) Has been cancelled
Validate Config / Python Test Suite (pull_request) Has been cancelled
- Add PYTHON ?= python3 variable for portability
- Replace all bare 'python' calls with $(PYTHON)
- Fixes 'make: python: No such file or directory' on systems without python shim
- Addresses issue #660
2026-04-15 02:31:48 +00:00
2 changed files with 6 additions and 84 deletions

View File

@@ -1,79 +0,0 @@
# PR Backlog Action Plan — 2026-04-14
**Generated from:** #658 (PR Backlog Analysis)
**Total Open PRs:** 27
## Auto-Merge Candidates (Training Data — 14 PRs)
These are data-only changes. If tests pass, merge.
| PR | Issue | Content | Action |
|----|-------|---------|--------|
| #656 | #596 | 500 visual scene pairs | Auto-merge if green |
| #649 | #598 | 500 crisis manipulation pairs | Auto-merge if green |
| #648 | #605 | 500 video scene pairs | Auto-merge if green |
| #644 | #604 | 500 game asset pairs | Auto-merge if green |
| #643 | #603 | 500 emotional weather pairs | Auto-merge if green |
| #642 | #610 | 100 folk scene descriptions | Auto-merge if green |
| #641 | (none) | 100 pop lyrics-to-scene | Needs issue ref |
| #640 | #615 | 100 metal scene descriptions | Auto-merge if green |
| #639 | #601 | 500 music mood pairs | Auto-merge if green |
| #638 | #597 | Crisis signal pairs | Auto-merge if green |
| #637 | #612 | 100 classical scene descriptions | Auto-merge if green |
| #636 | (none) | 100 jazz scene descriptions | Needs issue ref |
| #635 | #609 | 100 electronic scene descriptions | Auto-merge if green |
| #631 | #613 | 100 R&B/Soul scene descriptions | Auto-merge if green |
| #630 | #607 | 100 rock scene descriptions | Auto-merge if green |
## Bug Fixes Requiring Review (6 PRs)
| PR | References | Concern |
|----|------------|---------|
| #565 | #561 (refs closed #558) | May reference stale issue |
| #562 | #483 | Local-first fallbacks — needs review |
| #560 | #492 | Gitea a11y fixes V3-V5 |
| #559 | #492 | Gitea a11y fixes R1-R4 |
| #557 | #484 | OR operator stripping |
| (1 more) | — | Needs identification |
**Action:** Assign reviewers. Prioritize #565 for staleness check.
## Features Requiring Review (5 PRs)
| PR | Issue | Priority |
|----|-------|----------|
| #653 | #617 | Value-violations adversary suite |
| #651 | — | Nightly Pipeline Scheduler |
| #633 | — | Token budget tracker |
| #626 | #621 | Shared orchestrator |
| #625 | #623 | Quality Gate |
**Action:** Prioritize #625 (Quality Gate) and #626 (Shared Orchestrator) — pipeline improvements.
## Other (2 PRs)
| PR | Notes |
|----|-------|
| #654 | Identity attacks corpus |
| #568 | Enhanced meaning kernel extraction |
## Recommended Actions
1. **Merge training data PRs** (14) — low risk, data-only
2. **Close or update #565** — references closed issue #558
3. **Assign reviewers** to bug fixes and features
4. **Create issue** for PRs #641 and #636 (missing issue references)
5. **Prioritize** #625, #626 for pipeline infrastructure
## Triage Summary
```
Ready to merge: 14 (training data)
Needs review: 11 (bugs + features + other)
Needs issue ref: 2 (#641, #636)
Stale reference: 1 (#565)
```
---
*Generated by PR triage analysis. Ref: #658.*

View File

@@ -16,6 +16,7 @@ MODEL ?= timmy:v0.1-q4
BASELINE ?= hermes3:latest
OLLAMA_URL ?= http://localhost:11434
OUTPUT ?= output
PYTHON ?= python3
# ── Training ──────────────────────────────────────────────────────────
@@ -23,7 +24,7 @@ train-cloud: ## QLoRA fine-tune on cloud GPU (Axolotl)
axolotl train axolotl.yaml
train-local: ## LoRA fine-tune on Apple Silicon (MLX)
python -m mlx_lm.lora --config mlx-lora.yaml
$(PYTHON) -m mlx_lm.lora --config mlx-lora.yaml
# ── Evaluation ────────────────────────────────────────────────────────
@@ -45,7 +46,7 @@ vibes: ## Run vibes check — hand-picked prompts, human review
@echo "Date: $$(date '+%Y-%m-%d %H:%M')" > $(OUTPUT)/vibes-$(MODEL).md
@echo "Model: $(MODEL)" >> $(OUTPUT)/vibes-$(MODEL).md
@echo "" >> $(OUTPUT)/vibes-$(MODEL).md
@python -c "\
@$(PYTHON) -c "\
import yaml, subprocess, sys; \
prompts = yaml.safe_load(open('data/prompts_vibes.yaml'))['prompts']; \
f = open('$(OUTPUT)/vibes-$(MODEL).md', 'a'); \
@@ -69,19 +70,19 @@ vibes: ## Run vibes check — hand-picked prompts, human review
# ── Data Pipeline ─────────────────────────────────────────────────────
ingest: ## Pull heartbeat trajectories into training data
python ingest_trajectories.py \
$(PYTHON) ingest_trajectories.py \
--trajectories ~/.nexus/trajectories/ \
--curated data/curated_dataset.jsonl \
--output data/merged_training_data.jsonl
@echo "Merged dataset ready. Convert for MLX with: make convert"
curated: ## Regenerate curated exemplar dataset
python build_curated.py
$(PYTHON) build_curated.py
@echo "Curated dataset regenerated."
convert: ## Convert merged dataset to MLX format (train/valid split)
@mkdir -p data/mlx_curated
python -c "\
$(PYTHON) -c "\
import json; \
lines = open('data/merged_training_data.jsonl').readlines(); \
sessions = [json.loads(l) for l in lines]; \