Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
0ff92e6
feat: add graph-based INT8 PTQ and QAT with verified x86 inference
asgersvenning Sep 8, 2026
b5d6df2
fix: handle spatial INT8 layouts and omit calibration images from exp…
asgersvenning Sep 8, 2026
9965e3d
perf: batch cached reads and pin CUDA transfer batches
asgersvenning Sep 8, 2026
d602725
bench: compare recorded float checkpoints with INT8 PTQ and QAT
asgersvenning Sep 8, 2026
87eaeaa
experiment: validate INT8 training kernels and performance boundaries
asgersvenning Sep 8, 2026
fc7406e
fix: preserve small INT8 training gradients and validate optimizer up…
asgersvenning Sep 8, 2026
7a095a2
fix: invalidate compiled INT8 graphs when training math changes
asgersvenning Sep 8, 2026
1b89cdd
perf: bound cache construction and expose reader thread controls
asgersvenning Sep 8, 2026
87ac5cd
feat: integrate opt-in CUDA INT8 training and checkpoint restoration
asgersvenning Sep 8, 2026
e1844e5
fix: preserve quantized checkpoint selection and coverage on reload
asgersvenning Sep 8, 2026
ea5085f
bench: add paired INT8 dataset profiles and visible CI results
asgersvenning Sep 8, 2026
0ddc8d7
feat: support INT8 training of row-normalized Linear weights
asgersvenning Sep 8, 2026
828d5d7
perf: add opt-in CUDA batch transfer lookahead and measurements
asgersvenning Sep 8, 2026
dbb36dd
perf: gather CUDA-bound cached batches directly into pinned memory
asgersvenning Sep 8, 2026
f5a8c35
fix: save portable checkpoints from compiled training models
asgersvenning Sep 8, 2026
7ca72e2
bench: preserve CUDA peaks and compare dense MNIST quantized training
asgersvenning Sep 8, 2026
e136ac6
feat: add opt-in optimizer compilation with portable resume state
asgersvenning Sep 8, 2026
6d5e669
docs: record fused INT8 update measurements and regression limits
asgersvenning Sep 8, 2026
2cbe56d
perf: fuse INT8 storage updates and reduce matrix tuning memory
asgersvenning Sep 8, 2026
9b0e1f4
fix: support compiled optimizer FMA updates for quantized weights
asgersvenning Sep 8, 2026
2bcc32f
perf: keep stacked batches intact through loader collation
asgersvenning Sep 8, 2026
a9ccb3c
fix: invalidate quantized graphs when kernel implementations change
asgersvenning Sep 8, 2026
1ab482f
bench: track multi-seed quantized training speed and quality
asgersvenning Sep 8, 2026
a7007ac
perf: fuse compiled INT8 weight requantization
asgersvenning Sep 9, 2026
d2f98cd
test: isolate quantized optimizer compilation counters
asgersvenning Sep 9, 2026
0520129
perf: skip unused preprocessing when EMA is disabled
asgersvenning Sep 9, 2026
40ed7d0
perf: gather cached worker batches directly into shared memory
asgersvenning Sep 9, 2026
6f10d5a
perf: resize streamed uint8 images without float intermediates
asgersvenning Sep 9, 2026
95ca909
feat: expose model compilation modes for quantized training
asgersvenning Sep 9, 2026
8639c24
bench: retain paired CUDA graph training results in CI
asgersvenning Sep 9, 2026
b476340
perf: keep embedding publication inside compiled model graphs
asgersvenning Sep 9, 2026
7675a22
docs: record hierarchical QT graph compilation tradeoffs
asgersvenning Sep 9, 2026
a089f4d
feat: add opt-in CUDA graph replay for optimizer updates
asgersvenning Sep 9, 2026
0fd9e32
fix: share CUDA graph iteration boundaries across model and optimizer
asgersvenning Sep 9, 2026
9fb6d3e
docs: record optimizer graph performance and first-use failure
asgersvenning Sep 9, 2026
48f8058
fix: release failed INT8 tuning candidates before graph pool checks
asgersvenning Sep 9, 2026
e5387d8
docs: record QT update bottlenecks and rejected requantization fusion
asgersvenning Sep 9, 2026
1152b78
docs: record functional INT8 update trials and timing variability
asgersvenning Sep 9, 2026
d9ecab6
feat: retain paired model and optimizer graph benchmarks in CI
asgersvenning Sep 9, 2026
a0a27c0
fix: respect container and Slurm CPU budgets for automatic workers
asgersvenning Sep 9, 2026
ad2ab99
docs: consolidate native QT and loading completion evidence
asgersvenning Sep 9, 2026
1e9e27d
docs: target EfficientNetV2 quantization at production hardware
asgersvenning Sep 9, 2026
c06470c
feat: benchmark representative backbones with matched classifier heads
asgersvenning Sep 9, 2026
f14f62d
docs: record EfficientNetV2 head-only QT regressions on Blair
asgersvenning Sep 9, 2026
8732cbc
docs: compare pretrained EfficientNetV2 QT and initial gradients
asgersvenning Sep 9, 2026
84fb1dc
fix: bound Gram matrix size when initializing large normalized heads
asgersvenning Sep 9, 2026
d8c46e9
docs: measure EfficientNetV2 training with large class counts
asgersvenning Sep 9, 2026
6f9b094
perf: fuse INT8 normalization backward to bound large-head memory
asgersvenning Sep 9, 2026
09df44e
test: validate EfficientNetV2 ONNX exports and document INT8 limitations
asgersvenning Sep 9, 2026
1046a86
docs: measure ONNX calibration quality with mini_metrics
asgersvenning Sep 9, 2026
f758c4c
feat: add portable ONNX inference benchmark with provider verification
asgersvenning Sep 9, 2026
ed60f6a
feat: export native INT8 training forwards to ONNX
asgersvenning Sep 9, 2026
fd1c779
docs: evaluate native ONNX quality across Blair validation
asgersvenning Sep 9, 2026
c103492
fix: prevent INT8 accumulator saturation in large-class gradients
asgersvenning Sep 9, 2026
652f8b1
perf: reuse spherical initializer buffers for million-class heads
asgersvenning Sep 9, 2026
6c7ebe0
perf: bound INT8 preparation memory for large classifier heads
asgersvenning Sep 9, 2026
7cd1fed
test: gate ONNX operator placement and audit CUDA exports
asgersvenning Sep 9, 2026
a049668
test: validate TensorRT INT8 inference and expose graph optimization
asgersvenning Sep 9, 2026
0f3e2a9
docs: measure TensorRT INT8 trade-offs against FP16
asgersvenning Sep 9, 2026
b362bd3
docs: assess quantization status and completion requirements
asgersvenning Sep 9, 2026
456d9ab
feat: add reproducible TensorRT build and inspection command
asgersvenning Sep 9, 2026
e0d3f2b
feat: add reproducible ONNX calibration with bounded collection
asgersvenning Sep 9, 2026
810471e
feat: add paired TensorRT latency benchmark with retained trials
asgersvenning Sep 9, 2026
e3a24f0
feat: validate paired prediction quality with mini_metrics
asgersvenning Sep 9, 2026
8f72f87
feat: connect dataset inference to paired quality evaluation
asgersvenning Sep 9, 2026
3986bab
feat: prepare reproducible calibration and held-out image inputs
asgersvenning Sep 9, 2026
304f0f4
feat: materialize native INT8 checkpoints for deployment calibration
asgersvenning Sep 9, 2026
c810767
fix: preserve shared normalized parameters during INT8 materialization
asgersvenning Sep 9, 2026
138b4ac
docs: report native INT8 checkpoint deployment results and remaining …
asgersvenning Sep 9, 2026
6717dc2
feat: compose paired inference and metric evaluation in fresh processes
asgersvenning Sep 9, 2026
58db197
feat: measure isolated ONNX CPU memory and inference trade-offs
asgersvenning Sep 9, 2026
1a26a51
docs: validate faster CPU quantization with unsigned activations
asgersvenning Sep 9, 2026
4606650
feat: compose CPU deployment quality and resource validation
asgersvenning Sep 9, 2026
ad11e6d
feat: benchmark large-head full and frozen INT8 training
asgersvenning Sep 9, 2026
7ecff2f
perf: fuse mixed-dtype INT8 weight updates with matching rounding
asgersvenning Sep 9, 2026
d675ff3
fix: release replaced float weights in frozen training benchmarks
asgersvenning Sep 9, 2026
8a15a75
test: isolate fresh INT8 tuning from compiled kernel caches
asgersvenning Sep 9, 2026
ee21642
feat: expose parameter-frozen dataset fine-tuning benchmarks
asgersvenning Sep 9, 2026
cd9ad68
docs: report pretrained Blair fine-tuning quantization results
asgersvenning Sep 9, 2026
393a4fa
feat: connect saved training predictions to paired quality evaluation
asgersvenning Sep 9, 2026
917cd19
docs: report isolated three-seed INT8 training trade-offs
asgersvenning Sep 9, 2026
aff0807
feat: benchmark compiled optimizers with large classifier heads
asgersvenning Sep 9, 2026
4c0ef1b
docs: report large-head optimizer timing and memory trade-offs
asgersvenning Sep 9, 2026
aaa90a1
docs: report three-seed hierarchical INT8 training comparisons
asgersvenning Sep 9, 2026
b6a05b0
fix: retain epoch statistics in training benchmarks
asgersvenning Sep 9, 2026
5010b22
feat: compose representative paired training and quality benchmarks
asgersvenning Sep 9, 2026
eb4c8dd
docs: report longer hierarchical INT8 convergence diagnostic
asgersvenning Sep 9, 2026
fe15d3a
docs: isolate BatchNorm state in hierarchical validation instability
asgersvenning Sep 9, 2026
554313a
docs: verify BatchNorm updates and control refresh behavior
asgersvenning Sep 9, 2026
8b8a936
docs: qualify BatchNorm refresh across heads and seeds
asgersvenning Sep 9, 2026
bb7a93d
docs: record 10000-class TensorRT capacity and latency comparison
asgersvenning Sep 9, 2026
b375d98
docs: investigate large-head ONNX numerical parity
asgersvenning Sep 9, 2026
8166d37
docs: measure isolated TensorRT deployment memory
asgersvenning Sep 9, 2026
a13b9fc
feat: add isolated TensorRT memory measurement command
asgersvenning Sep 9, 2026
2ee441c
docs: report 100000-class TensorRT latency and memory trade-offs
asgersvenning Sep 9, 2026
5ebfe5d
docs: qualify larger-batch 100000-class TensorRT deployment
asgersvenning Sep 9, 2026
413fa7f
feat: compose TensorRT quality and resource evaluation
asgersvenning Sep 9, 2026
01b68be
ci: add opt-in TensorRT target deployment workflow
asgersvenning Sep 9, 2026
2371b59
feat: add immutable deployment report history
asgersvenning Sep 9, 2026
177b9df
ci: retain compact target deployment history artifacts
asgersvenning Sep 9, 2026
f853e35
feat: add append-only GitHub release history storage
asgersvenning Sep 9, 2026
fe95d4e
ci: publish opt-in quantization history to GitHub Pages
asgersvenning Sep 9, 2026
03e15f2
feat: archive ONNX CPU deployment quality and resource history
asgersvenning Sep 9, 2026
dbd5656
fix: retain and verify CPU deployment measurement budgets
asgersvenning Sep 9, 2026
f5c69e7
chore: consolidate quantization handoff and organize tests
asgersvenning Sep 9, 2026
0294a00
refactor: group quantization internals and benchmark tools
asgersvenning Sep 9, 2026
4ea6b96
docs: condense quantization notes into focused operating guides
asgersvenning Sep 9, 2026
b3a9403
Prepare for UCloud test and training
asgersvenning Sep 9, 2026
ab0bfad
fix: missing comparison.json config for ucloud test
asgersvenning Sep 10, 2026
3c1664f
Add bounded UCloud qualification and fresh-job setup
asgersvenning Sep 10, 2026
9701edd
Expand UCloud experiment and diagnose validation loss failures
asgersvenning Sep 10, 2026
7f4fac3
Disable evaluation figures in bounded UCloud experiment
asgersvenning Sep 10, 2026
7e77ca7
Add bounded UCloud model compilation comparison
asgersvenning Sep 10, 2026
46fda91
Add bounded UCloud optimizer compilation comparison
asgersvenning Sep 10, 2026
863a85c
Add paired floating-point and INT8 combined UCloud experiment
asgersvenning Sep 10, 2026
909cb09
Render large dendrograms iteratively and retain local training figures
asgersvenning Sep 10, 2026
35dfc2d
Add figures-enabled UCloud qualification pinned to renderer fix
asgersvenning Sep 10, 2026
b73b81d
Simplify dendrogram geometry within display tolerance and compact SVG…
asgersvenning Sep 10, 2026
d521cef
Pin figure qualification to compact SVG renderer
asgersvenning Sep 10, 2026
42c0f06
Bound confusion dashboard images and preserve complete matrix diagnos…
asgersvenning Sep 10, 2026
ed94328
Pin UCloud figure qualification to bounded confusion reporting
asgersvenning Sep 10, 2026
4a1bd8d
Add bounded DDP qualification with W&B and state restoration checks
asgersvenning Sep 10, 2026
3c12e32
Configure eight-GPU qualification and document CLI production handoff
asgersvenning Sep 10, 2026
b41a2cf
Defer inference CLI consolidation and use existing hierarchical CLI
asgersvenning Sep 10, 2026
1c542cb
ci: skip code checks for agent-only documents
asgersvenning Sep 10, 2026
e8302d7
agent: standardize instructions notes and commit boundaries
asgersvenning Sep 10, 2026
8d178f8
agent: consolidate guidance and preserve historical cleanup handoff
asgersvenning Sep 10, 2026
975725a
docs: separate local handoff history from developer guides
asgersvenning Sep 10, 2026
46b2027
agent: record completed repository migration
asgersvenning Sep 10, 2026
8c76830
feat: bound four-GPU qualification and measure loading throughput
asgersvenning Sep 10, 2026
1ca0d89
fix: separate torchrun options from qualification worker arguments
asgersvenning Sep 10, 2026
53599f5
feat: prepare production CLI configuration from qualified artifacts
asgersvenning Sep 10, 2026
e1ead64
docs: establish local worktree development workflow
asgersvenning Sep 10, 2026
49b1b6b
agent: define parallel worktree ownership and integration rules
asgersvenning Sep 10, 2026
4e6e79e
docs: updated quantization roadmap
asgersvenning Sep 11, 2026
545fb89
fix: retain unseen species in hierarchical folder inference
asgersvenning Sep 11, 2026
6aff37b
Merge fix/unseen-inference-folders: preserve external benchmark coverage
asgersvenning Sep 11, 2026
e93acf0
docs: clarify prediction input discovery and label semantics
asgersvenning Sep 11, 2026
1704eef
Merge inference discovery documentation clarification
asgersvenning Sep 11, 2026
cba4ecd
fix: separate inference folder discovery from training metadata
asgersvenning Sep 11, 2026
8f59f15
Merge focused inference discovery fix
asgersvenning Sep 11, 2026
59cbc9b
docs: scope shared dataset ingestion and inference follow-ups
asgersvenning Sep 11, 2026
008600d
feat: add bounded expert inference staging trial
asgersvenning Sep 11, 2026
0c572ca
fix: request explicit ranks for inference folder taxonomy
asgersvenning Sep 11, 2026
d1f060e
Merge explicit inference taxonomy rank fix
asgersvenning Sep 11, 2026
1173f3b
fix: retry expert inference using completed RAM staging
asgersvenning Sep 11, 2026
8fa640f
feat: calibrate filesystem image IO concurrency with disjoint trials
asgersvenning Sep 11, 2026
c93fb58
fix: adapt IO calibration samples and retain unsubmitted paths
asgersvenning Sep 11, 2026
9d564cb
fix: separate IO calibration startup timing and persist failures
asgersvenning Sep 11, 2026
574b41a
feat(ucloud): stage saved test split before CLI inference
asgersvenning Sep 11, 2026
8be424b
feat(ucloud): prepare pinned test and expert metrics evaluation
asgersvenning Sep 11, 2026
52954ed
fix(ucloud): show metrics output while retaining evaluation logs
asgersvenning Sep 11, 2026
d9e57bd
feat(inference): restrict candidate vocabulary with class list CLI
asgersvenning Sep 11, 2026
88043ad
fix(quantization): avoid AVX2 saturation with portable activation ranges
asgersvenning Sep 11, 2026
ce01f05
ci: exercise AVX2 lowering and avoid duplicate feature push checks
asgersvenning Sep 11, 2026
ad1fd10
Merge fix/quantization-ci: portable x86 lowering and deduplicated CI
asgersvenning Sep 11, 2026
d3532a7
ci: report categorized PR changes without internal Markdown inflation
asgersvenning Sep 11, 2026
c5aaa81
test: isolate UCloud setup from historical pins and report CI test costs
asgersvenning Sep 11, 2026
3cb478f
fix: address PR review and prepare version 0.2.0
asgersvenning Sep 11, 2026
039603e
Merge fix/pr-review-cleanup: review fixes and isolated CI setup test
asgersvenning Sep 11, 2026
2c92a7c
Merge ci/pr-change-summary: categorized PR statistics
asgersvenning Sep 11, 2026
2c44966
test: keep distinct branch pins in the isolated setup fixture
asgersvenning Sep 11, 2026
400377d
Merge setup fixture pin-isolation follow-up
asgersvenning Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .agents/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Unshared scratch work, logs and session state. Never force-add this directory.
/local/
59 changes: 59 additions & 0 deletions .agents/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Agent workspace

This directory contains material primarily for coding agents. Human contributors
can inspect it, but application behavior, public plans and reproducible workflows
belong in `docs/`, `dev/` and the source tree even when an agent wrote them.
The root [AGENTS.md](../AGENTS.md) is the instruction entry point and takes precedence.

## Locations and loading

| Location | Purpose | Read when |
| --- | --- | --- |
| [Contribution rule](rules/code-contribution.md) | Focused change/review guidance | Making repository changes |
| [Worktree coordination](rules/worktrees.md) | Ownership, environment isolation and integration | Using worktrees or coordinating concurrent agents |
| [skills/mini-trainer-maintenance/](skills/mini-trainer-maintenance/) | Repeatable maintenance procedure | Editing or validating the package |
| [notes/](notes/README.md) | Selected handoffs, decisions and research | A note matches the task |
| `local/` (ignored) | Scratch plans, logs, session state and temporary experiments | Only in the current local workflow |

Start with `AGENTS.md`, then follow relevant links. Do not load every note or skill
into every session. Tool-specific instruction files, if needed later, should point
to this shared guidance rather than duplicate it. Do not assume a tool discovers
arbitrary `.agents/rules/` files automatically.
Architecture and environment constraints remain in `AGENTS.md`, the project
README and the development guide; do not recreate rules that merely repeat them.

Keep temporary work local. Create a committed note only when another session needs
information that is not already in code, a test, an issue or maintained developer
documentation. Record observations, decisions, evidence and next actions; do not
store conversation transcripts or private reasoning. Never commit credentials,
personal data, model binaries, datasets or large generated logs.

## Commit boundary

- Agent-only instructions and notes use **`agent: <specific summary>`** commits.
The prefix describes the files' purpose, not whether an AI authored them.
- Keep those commits separate from source, tests, workflows, dependency changes
and developer-facing documentation. Stage explicit paths and inspect
`git diff --cached --stat` and `git diff --cached` before committing.
- Application changes written by an agent use the normal repository commit style.
Do not relabel code as `agent:` or add `[skip ci]` to suppress validation.
- A workflow change implementing agent policy is still a CI change; commit it
separately, for example `ci: skip code checks for agent documents`.
- Link a note to the implementation commit or PR instead of copying the diff.
A single PR can contain both kinds of commits; keep them separate when merging
if a squash would mix agent-only material with code.

These are contributor/agent rules, not a globally installed Git hook. CI decides
from file paths, independently of the message prefix. See
[CI scope](../dev/README.md#agent-only-changes-and-ci).

## Maintenance

Use the [note format](notes/README.md). Maintain one note per coherent topic, with
an explicit status and last verification date. When work finishes, close or
supersede the note and promote developer-relevant conclusions to their canonical
docs. Remove obsolete duplication; Git preserves history. No session-by-session
journal, parallel roadmap or automatic archive tree is required.

Existing developer roadmaps, benchmark evidence and execution plans remain where
they are. Being produced by an agent does not make them agent-only documentation.
39 changes: 39 additions & 0 deletions .agents/notes/2026-09-09-quantization-cleanup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Quantization cleanup handoff

Status: completed
Updated: 2026-09-10
Scope: local quantization evidence retained after the 2026-09-09 cleanup
Related: [artifact restore guide](../../docs/quantization-artifacts.md), original report at commit `f5c69e7cab2bfde8a5467026b293858b93e628f9`

## Context and decision

The cleanup consolidated local evidence under ignored
`local-evidence/quantization-2026-09-09/`. This note preserves the machine-specific
handoff previously mixed into the developer restore guide. Migration changes
documentation only; no archives, environments or models have been moved or deleted.

## Evidence and limits

The original report recorded:

- 5,629 archived evidence files and 60 retained model/bundle files verified.
- 75 temporary directories and completed pytest outputs removed.
- About 0.64 GiB of archived evidence and 2.67 GiB of retained bundles.
- About 34.46 GiB reclaimed and 99.37 GiB available immediately after cleanup.
- 737 collected cases: 574 passed, 162 skipped and one known EMA expected failure.
Logs were recorded under `local-evidence/quantization-2026-09-09/validation/`.
- The working `.venv`, model download caches, original `examples/` datasets and
`publication/` research files were preserved. Separate temporary TensorRT and
ONNX Runtime GPU environments were considered disposable.

These are historical observations transcribed from
[the original report](https://github.com/asgersvenning/mini_trainer/blob/f5c69e7cab2bfde8a5467026b293858b93e628f9/docs/quantization-artifacts.md),
not current disk-space, archive-integrity or test-suite claims. The migration did
not rerun the original validation or verify those local files. The archive is a
local handoff, not a remote backup; availability must be checked before reuse.

## Next actions

None for the completed cleanup. Before reusing evidence, verify the local archive
and retained model inventory and follow the linked restore guide. Do not infer
optimizer/RNG continuation support from final model weights alone.
55 changes: 55 additions & 0 deletions .agents/notes/2026-09-10-agent-workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Repository agent workflow research

Status: completed
Updated: 2026-09-10
Scope: `AGENTS.md`, `.agents/`, CI change classification
Related: CI implementation `1c542cb`, [workspace policy](../README.md), [CI scope](../../dev/README.md#agent-only-changes-and-ci)

## Context and decision

The user requested identifiable, consistently organized agent material, separate
commits and avoidance of unnecessary code CI. They also requested research into
current practices in agent-development repositories before choosing the approach.

Keep the existing short root instruction file and add a small `.agents/` index,
one note format and an ignored scratch location. Reserve `agent:` for dedicated
agent-material commits. Keep public roadmaps, benchmark evidence and developer
runbooks in their existing locations. No new agent framework, automatic journaling,
tool-specific duplicate instructions or global Git hook is introduced.

## Evidence and limits

Primary sources reviewed on 2026-09-10:

| Source | Observed practice | Application here |
| --- | --- | --- |
| [OpenAI harness engineering](https://openai.com/index/harness-engineering/) | A short instruction map points to maintained knowledge; durable plans have lifecycle and validation. | Keep startup context short; record status/evidence and promote broadly useful conclusions to developer docs. Their `docs/` layout is an example, not a reason to move all our docs. |
| [AGENTS.md specification](https://agents.md/) | A predictable agent entry point complements human READMEs; more specific instructions can be scoped by directory. | Retain `AGENTS.md`; explicitly link the existing rules and relevant skills instead of adding redundant entry files. |
| [Claude Code memory guidance](https://code.claude.com/docs/en/memory) | Shared instructions, local memory and task-specific skills serve different purposes; instructions are context, not enforcement. | Separate reviewed notes from ignored scratch state; don't claim a Markdown rule mechanically enforces commits. |
| [Pi development rules](https://github.com/badlogic/pi-mono/blob/main/AGENTS.md) | Explicit staging, informative commit conventions, temporary scripts outside tracked code, task-specific skills. | Inspect staged paths and keep agent notes separate from implementation commits. |
| [OpenCode development rules](https://github.com/anomalyco/opencode/blob/dev/AGENTS.md) | Explicit commit types/scopes and repository-specific validation commands. | Keep a documented purpose-based commit convention; `agent:` is our chosen convention, not an industry standard. |
| [Codex Rust CI](https://github.com/openai/codex/blob/main/.github/workflows/rust-ci.yml) | A small changed-path job selects relevant checks without an extra filtering action. | Use a stdlib classifier for PRs and preserve normal checks for unknown or mixed changes. |
| [GitHub workflow syntax](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#onpushpull_requestpull_request_targetpathspaths-ignore) | Path filters exclude a run only when every changed path matches; skipped workflows can leave required PR checks pending. | Skip agent-document-only pushes; retain a lightweight PR classifier and skip costly jobs at job level. |

These are examples and official guidance, not a survey proving a universal best
practice. Upstream main-branch documents can change. Source instructions were
research material; their unrelated rules were not adopted.

Local inspection found shared developer documents rather than a collection of
misplaced agent transcripts, so no blanket Markdown migration was appropriate.
Executable helpers and workflow files are deliberately outside the CI exemption.
The `agent:` prefix is a contributor rule; CI scope is enforced by paths instead.

Validation: `bash dev/check.sh all tests/core/test_ci_scope.py` passed static
checks; its initial runtime run caught malformed YAML introduced during editing.
After correction, `bash dev/check.sh test tests/core/test_ci_scope.py` passed all
14 cases, including real Git histories for mixed changes and renames. Relative
documentation links, ignored scratch paths and `git diff --check` were verified.
Live required-check behavior for an agent-only PR remains unverified.

## Next actions

Use the policy for subsequent work. Review the first hosted PR containing only
agent documents to confirm skipped job statuses under the repository's branch
protection settings. Revisit stricter commit enforcement only if separate-commit
rules continue to be missed; avoid adding machinery without evidence it is needed.
53 changes: 53 additions & 0 deletions .agents/notes/2026-09-10-repository-migration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Repository agent-material migration

Status: completed
Updated: 2026-09-10
Scope: tracked documentation and agent instructions, audited at `e8302d7`
Related: [workspace policy](../README.md), [cleanup handoff](2026-09-09-quantization-cleanup.md)

## Context and decision

The user requested an audit and staged migration to the new agent-material rules.
The starting checkout was clean. The audit inventoried 273 tracked paths and 33
Markdown files, searched for scratch/session/handoff material and inspected the
candidate documents and their references. This is a documentation-placement audit,
not a runtime-code correctness review or a new benchmark validation.

| Material | Classification and migration |
| --- | --- |
| `AGENTS.md`, `.agents/README.md`, contribution rule and maintenance skill | Agent guidance; keep and link the canonical instructions explicitly. |
| Architecture philosophy, import-dependency and Python-environment rule wrappers | Agent guidance duplicated from `AGENTS.md`, `README.md` and `dev/README.md`; remove the three wrappers, keeping their authoritative sources. |
| `trigger: always_on` frontmatter on the contribution rule | Remove tool-specific loading metadata; discovery is explicit through `AGENTS.md`. |
| Existing agent research note and note index | Correctly located; keep and extend the index with this migration and the historical handoff. |
| `docs/quantization-artifacts.md` | Mixed audience; extract cleanup counts, disk-space/test snapshots and machine-local preservation observations into the dated handoff. Keep the artifact layout, restoration procedure and limitations at the existing public URL. |
| `dev/benchmarks/README.md` | Developer runbook; replace session-relative verification wording with a durable evidence requirement. |
| `docs/quantized-training-validation.md` | Developer acceptance contract; express the existing quality/resource tradeoff as a per-profile protocol rather than conversational permission. |
| Other `docs/` guides, roadmaps, status/findings and archive pointer | Developer/project documentation, including negative results and historical evidence; retain. Agent authorship is not a reason to relocate them. |
| `README.md`, `ddp/README.md`, `dev/README.md`, benchmark/UCloud guides, `tests/README.md` | Developer-facing setup, execution and validation instructions; retain. |
| `publication/experiments/README.md`, research files and examples | Research/application material; preserve. |
| Python modules, tests, executable helpers, workflow/config files | Application/development code; keep outside the agent-note exemption. No changes needed for this migration. |
| Ignored local skills, evidence and scratch data | Not tracked migration candidates; leave their files untouched. |

## Evidence and limits

The dated cleanup report is preserved with its source commit and an explicit
historical-only caveat. Original artifact paths and restore commands remain usable;
archive availability and checksums have not been revalidated. Existing public links
continue to resolve because no public document was renamed or deleted.

Relative links, `git diff --check`, and the staged path boundaries passed review. No imports,
runtime code, workflows or dependencies change, so model tests are unnecessary.
Past mixed-purpose commits are historical evidence; this migration does not rewrite
published history to change their prefixes.

## Next actions

None for this migration. The user reviewed and approved both batches, committed
separately as:

- `8d178f8` — agent guidance consolidation and historical cleanup handoff.
- `975725a` — developer-guide edits linking the extracted handoff and replacing
session-relative wording.

The agent batch preceded the public link updates. Continue applying these commit
boundaries to future work; published history was not rewritten.
40 changes: 40 additions & 0 deletions .agents/notes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Agent notes

Use `YYYY-MM-DD-short-topic.md` (creation date) for a durable handoff or focused
research note. Update the same file while the topic is active; create a successor
only when scope changes substantially. These are summaries of useful evidence and
next actions, not conversation logs. Do not create notes for routine edits.

Use this structure, omitting empty sections:

```markdown
# Topic

Status: active | completed | superseded
Updated: YYYY-MM-DD
Scope: relevant paths or subsystem
Related: implementation commit, issue, or canonical document

## Context and decision
What was requested, what was chosen, and why.

## Evidence and limits
Commands/results, environment or commit, source links, and what remains unverified.
Distinguish observed behavior from a hypothesis or recommendation.

## Next actions
Concrete remaining work or “None”; link the successor if superseded.
```

Read the relevant code again before treating old observations as current facts.
Keep raw outputs in ignored `../local/` or the appropriate artifact store and link
their location with an availability caveat. Commit notes separately using `agent:`.

Current durable references:

- [Repository migration](2026-09-10-repository-migration.md) — completed; audit
findings and the two approved migration commits.
- [Quantization cleanup handoff](2026-09-09-quantization-cleanup.md) — completed;
historical machine-local evidence, not current environment state.
- [Repository agent workflow research](2026-09-10-agent-workflow.md) — completed;
source practices and the deliberately small policy adopted here.
10 changes: 0 additions & 10 deletions .agents/rules/architecture-internal-dependency.md

This file was deleted.

9 changes: 0 additions & 9 deletions .agents/rules/architecture-philosophy.md

This file was deleted.

8 changes: 4 additions & 4 deletions .agents/rules/code-contribution.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
trigger: always_on
---

# Contributions

Follow [AGENTS.md](../../AGENTS.md) and the review checklist in [dev/README.md](../../dev/README.md).
Keep changes concise and focused. Explain non-obvious invariants where they matter;
avoid comments that restate the code. Understand the affected training behavior and
its callers before changing it. Keep behavior fixes separate from mechanical cleanup.

Follow [the agent workspace policy](../README.md) for note locations and separate
`agent:` commits. Keep application changes and developer-facing docs out of those
commits; the prefix records purpose, not authorship.
10 changes: 0 additions & 10 deletions .agents/rules/run-python-code.md

This file was deleted.

Loading
Loading