Platform engineering
Platform work is mostly small files: a path helper, a venv layout, a
pyproject.toml, a workflow YAML. The failure mode is not “the file is too
big.” It is “the draft only works on the author’s laptop.”
python-vibe treats that as a harness problem, not a bigger-model problem.
What the harness already did
Every path the model is shown uses forward slashes (Path.as_posix()). A
Windows-style src\app.py is accepted as input and rewritten before the
write limit uses it. A virtual environment’s interpreter is bin/python on POSIX
and Scripts/python.exe on Windows. Those rules live in harness/paths.py
and are tested on every OS the suite runs on.
What this page adds
write-pathsskill. One copy-pasteAction: editofpkg/paths.py.pathlib,os.name, both venv layouts,Path.home(). Noos.path.join. No hardcoded home paths.write-workflowskill. One workflow YAML that runs the unit suite. Live 8B treated “add a CI workflow” as add-feature and wrote a function namedworkflowintosrc/util.py. The task kind is nowlooks_like_ops. Drafts withcurl|sh,0.0.0.0, or an inline secret are refused.- Limit which files may be written. Writes may target
.py,.pyi,.md,.toml,.yml,.yaml,.cfg,.ini, and.json. Secret names (.env,credentials.json,.pypirc,secrets.json) are refused on read and write. The map and grep skip them. - Compiler-shaped refuses. A draft that joins paths with
os.path, hardcodes a home or/tmp, writesbin/pythonwithout the Windows branch, opens a text file withoutencoding="utf-8", or callschmodwithout anos.name != "nt"guard is not written. The next Action is named. The model does not get a lecture.
Why this is the professional loop
A hosted IDE agent remembers “Windows uses backslashes” because the context window is huge and the model is large. An 8B on a laptop does not. Classic development for that gap is: pin the Path:, refuse the Windows-hostile draft, keep config files under the same limit as Python.
The 0.5B LoRA is still a style prior. Do not train it on thirty path rows
and expect agency. Measure write-paths with scripts/measure/skill_probe.py
before calling it everyday-ready.
Honest limits
It still has no free shell, no package manager, and no cloud API.
A .sh installer, a remote host, or a secret file is out of scope on
purpose. Large trees still need --scope. Public pages do not name other
editors or chat products.