Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
df481f3
fix(code): stop retrying cleanup-confirmed execution budgets
erikleblansch Oct 4, 2026
63f73fa
fix(opencode): forward configured generation policy and prove termina…
erikleblansch Oct 4, 2026
2831350
merge: retain public coding evidence and README banner
erikleblansch Oct 4, 2026
714904a
Pin native trials to reviewed generation diagnostic source fix
erikleblansch Oct 4, 2026
dd7a709
Accept exact owner-selected native CPU capabilities
erikleblansch Oct 4, 2026
6b0dfbd
test: wire exact native CPU executor into disposable OpenCode trial
erikleblansch Oct 4, 2026
e838d5d
test: carry native backend through exact build source gate
erikleblansch Oct 4, 2026
77fc08a
fix(ci): pin native CPU trial to CLI group correction
erikleblansch Oct 4, 2026
01c5c59
Observe native build resources before helper exit
erikleblansch Oct 7, 2026
cf33cba
code: preserve closed conversion failure diagnostics
erikleblansch Oct 7, 2026
61d2c0c
code: bind native diagnostics to integrated core source
erikleblansch Oct 7, 2026
8a7034d
test: pin native trial to source-matched Qwen3 metadata checks
erikleblansch Oct 7, 2026
d48801a
test: pin owner-responsive full-weight verification candidate
erikleblansch Oct 7, 2026
8b5d5b6
fix(native): require bounded loader provenance from pinned core
erikleblansch Oct 7, 2026
2c667d4
test(opencode): pin classified native tool JSON diagnostics
erikleblansch Oct 7, 2026
2b2687f
test(opencode): track native candidate integrated with core main
erikleblansch Oct 7, 2026
4551005
Pin scoped native weight verification and retain deadline evidence
erikleblansch Oct 7, 2026
5c6248b
feat(opencode): negotiate explicit native output constraints
erikleblansch Oct 15, 2026
689c7dd
test(code): bind native OpenCode trial to output constraint capability
erikleblansch Oct 15, 2026
6aa6291
docs(code): distinguish latest native failure and selected-output checks
erikleblansch Oct 15, 2026
70c72fe
docs(code): record first real native read and remaining failures
erikleblansch Oct 15, 2026
374f472
test(code): retain closed core diagnostics without changing task auth…
erikleblansch Oct 15, 2026
e392673
test(code): pin closed task diagnostics for native OpenCode trial
erikleblansch Oct 15, 2026
7f451e6
test(opencode): pin bounded native cache-hint experiment
erikleblansch Oct 15, 2026
8b214da
feat: retain bounded native memory diagnostics in Code trials
erikleblansch Oct 15, 2026
0c28e81
chore: pin native memory diagnostics lint correction
erikleblansch Oct 15, 2026
4fc3692
test(code): pin native source cache release candidate
erikleblansch Oct 15, 2026
3a5c1f5
Pin native source verification lifecycle candidate
erikleblansch Oct 15, 2026
8b21775
Observe bounded host QEMU memory without altering inference limits
erikleblansch Oct 15, 2026
97dfa4a
feat: keep native model sessions within one owner coding task
erikleblansch Oct 15, 2026
266d1a0
test: bind native session trial to verified core revision
erikleblansch Oct 15, 2026
f23f9c9
test(code): pin closed native-session diagnostic core
erikleblansch Oct 15, 2026
a15a552
test(code): pin main-integrated native session core
erikleblansch Oct 15, 2026
ffc7c3e
Bind native coding trial to bounded retained context capacity
erikleblansch Oct 15, 2026
9da8608
fix(code): bind aligned native CPU provenance and compiler checks
erikleblansch Oct 15, 2026
10deb66
Merge pull request #16 from VOLPAROSSA/feature/native-cpu-alignment-join
erikleblansch Oct 15, 2026
370348e
fix: bind OpenCode edit approvals to the workspace target
erikleblansch Oct 15, 2026
cce5a21
Merge pull request #17 from VOLPAROSSA/fix/native-edit-approval-target
erikleblansch Oct 15, 2026
ab64003
fix: observe native task memory before its cgroup exits
erikleblansch Oct 15, 2026
0031c0e
Merge pull request #18 from VOLPAROSSA/fix/native-task-postflight
erikleblansch Oct 15, 2026
0d7a050
merge: retain current main instructions in native Code candidate
erikleblansch Oct 15, 2026
8e873c3
docs: distinguish completed coding task from pending full acceptance
erikleblansch Oct 15, 2026
fd4ff96
fix(code): pin adaptive prefill core for native coding trial
erikleblansch Oct 15, 2026
32d7a08
docs: record accepted native coding lifecycle
erikleblansch Oct 16, 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
22 changes: 16 additions & 6 deletions .github/workflows/opencode-inference.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@ on:
options:
- qwen3-0.6b-v1
- qwen3-4b-instruct-2507-v1
inference_backend:
description: Explicit owner-selected backend; native CPU requires the reviewed 4B profile
type: choice
required: true
default: torch
options:
- torch
- llama_cpp_bf16_v1

permissions:
contents: read
Expand All @@ -30,6 +38,7 @@ jobs:
env:
EXPECTED_CODE_SHA: ${{ inputs.expected_code_sha }}
MODEL_PROFILE: ${{ inputs.model_profile }}
INFERENCE_BACKEND: ${{ inputs.inference_backend }}
PYTHONDONTWRITEBYTECODE: '1'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -41,7 +50,7 @@ jobs:
id: selected_core
run: |
set -euo pipefail
python3 -B scripts/opencode_ci.py select --model-profile "$MODEL_PROFILE" >>"$GITHUB_OUTPUT"
python3 -B scripts/opencode_ci.py select --model-profile "$MODEL_PROFILE" --inference-backend "$INFERENCE_BACKEND" >>"$GITHUB_OUTPUT"
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: VOLPAROSSA/volparossa
Expand All @@ -52,7 +61,7 @@ jobs:
run: |
set -euo pipefail
python3 -B scripts/opencode_ci.py source --core "$PWD/build/ci-core" \
--expected-code "$EXPECTED_CODE_SHA" --model-profile "$MODEL_PROFILE"
--expected-code "$EXPECTED_CODE_SHA" --model-profile "$MODEL_PROFILE" --inference-backend "$INFERENCE_BACKEND"
- name: Install official tools only on the disposable GitHub host
run: |
set -euo pipefail
Expand Down Expand Up @@ -81,14 +90,14 @@ jobs:
export XDG_RUNTIME_DIR
export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus"
printf 'XDG_RUNTIME_DIR=%s\nDBUS_SESSION_BUS_ADDRESS=%s\n' "$XDG_RUNTIME_DIR" "$DBUS_SESSION_BUS_ADDRESS" >>"$GITHUB_ENV"
python3 -B scripts/opencode_ci.py preflight --model-profile "$MODEL_PROFILE"
python3 -B scripts/opencode_ci.py preflight --model-profile "$MODEL_PROFILE" --inference-backend "$INFERENCE_BACKEND"
- name: Source-build the pinned OpenCode runtime (no model)
timeout-minutes: 55
run: bash scripts/opencode_ci_build.sh
- name: Fetch exact public Node and Debian guest image
run: |
set -euo pipefail
python3 -B scripts/opencode_ci.py assets --core "$PWD/build/ci-core" --model-profile "$MODEL_PROFILE"
python3 -B scripts/opencode_ci.py assets --core "$PWD/build/ci-core" --model-profile "$MODEL_PROFILE" --inference-backend "$INFERENCE_BACKEND"
image_url=$(jq -er '.url' build/ci-core/tests/helper/debian13-amd64-image-v1.json)
image="$PWD/build/debian-13-genericcloud-amd64-20260826-2582.qcow2"
curl --fail --silent --show-error --location --connect-timeout 30 --max-time 1200 \
Expand All @@ -102,8 +111,8 @@ jobs:
test "$(git rev-parse HEAD)" = "$EXPECTED_CODE_SHA"
test -z "$(git status --porcelain)"
python3 -B scripts/smoke_opencode_inference.py pack --core "$PWD/build/ci-core" \
--node "$PWD/build/ci-node/bin/node" --output "$PWD/build/ci-inputs.tar.gz" --model-profile "$MODEL_PROFILE"
python3 -B scripts/opencode_ci.py capture --model-profile "$MODEL_PROFILE"
--node "$PWD/build/ci-node/bin/node" --output "$PWD/build/ci-inputs.tar.gz" --model-profile "$MODEL_PROFILE" --inference-backend "$INFERENCE_BACKEND"
python3 -B scripts/opencode_ci.py capture --model-profile "$MODEL_PROFILE" --inference-backend "$INFERENCE_BACKEND"
- name: One actual OpenCode core Qwen edit and test trial
timeout-minutes: 115
run: |
Expand All @@ -115,6 +124,7 @@ jobs:
XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" \
python3 -B scripts/smoke_opencode_inference.py execute --yes --host-tools-profile github-ubuntu-24.04 \
--model-profile "$MODEL_PROFILE" \
--inference-backend "$INFERENCE_BACKEND" \
--core "$PWD/build/ci-core" --tools /usr \
--image "$PWD/build/debian-13-genericcloud-amd64-20260826-2582.qcow2" \
--bundle "$PWD/build/ci-inputs.tar.gz" --output "$PWD/build/ci-vm"
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/source-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches: [main]
pull_request:
branches: [main]

permissions:
contents: read
Expand All @@ -27,6 +26,8 @@ jobs:
run: python3 -B -m unittest discover -s tests -p 'test_build_codex_runtime.py'
- name: Check OpenCode source-build and namespace contracts
run: python3 -B -m unittest discover -s tests -p 'test_*opencode*.py'
- name: Check explicit output-constraint session selection
run: python3 -B -m unittest discover -s tests -p test_output_constraint_session.py

# No dependency installation, runtime/model download, real inference, editor
# installation or privileged service startup. These are source/protocol checks.
28 changes: 21 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,31 @@ not Codex. It joins these implemented components:
- An explicit Linux launcher with a selected writable project, temporary state,
no inherited account credentials and no external network interface.

**Current proof:** the pinned OpenCode source builds and the actual runtime
**Runtime and adapter proof:** the pinned OpenCode source builds and the actual runtime
completes a tool loop through the production launcher and adapters: one approved
command changes a disposable file, its tool result returns to the core interface,
and the session shuts down cleanly. A second native trial invokes the cooperative
tool, preserves complete and incomplete core results, and confirms that only the
enrolled public snapshot crosses the bridge. Both trials use **synthetic core/model
replies**, not real inference or peer execution. Focused checks additionally cover
adapter, editor and lifecycle behavior. The complete model-driven OpenCode
read/edit/test loop, native editor UI operation, protected peer execution and a
finished immune-policy path remain unproved.
adapter, editor and lifecycle behavior.

**Real model-driven coding:** the [Qwen4B native CPU trial](https://github.com/VOLPAROSSA/volparossa-code/actions/runs/38824828727)
passes the bounded coding task **and its complete lifecycle**. Actual OpenCode
and core inference produce two reads, an approved edit, an approved test and
a final response. The original tests stay unchanged and an independent check
passes. Task-resource measurements, unchanged inputs, clean core shutdown and
guest/VM cleanup are verified.

The task takes about 37 minutes on the disposable CPU runner; this is a working
development slice, not competitive performance or general coding-quality proof.
The core processes the complete prompt in adaptive blocks while retaining the
model, permissions, resource budgets and ten-second owner-control guard. Earlier
failed trials remain documented. This path pins the exact tested core candidate
`7d0f9f0b`, rather than selecting whichever core happens to be on `main`.
Native editor UI operation, protected peer execution and the complete
immune-policy path remain open. See the
[native CPU evidence](docs/OPENCODE.md#explicit-native-cpu-candidate).

**Real public peer proof:** a separate owner command successfully obtained a
small single-file replacement from a real Qwen0.6B worker on another peer.
Expand Down Expand Up @@ -138,9 +153,8 @@ notice and source pin are preserved in [third-party provenance](THIRD_PARTY_LICE

## Remaining work

- Exercise the source-built OpenCode runtime with actual core inference and a
model-driven read/edit/test task with explicit local approvals and independently
checked results, then verify native editor operation.
- Verify native editor operation with the proven real-model read/edit/test
lifecycle, and improve measured coding quality, speed and resource use.
- Extend the proven public single-file owner command to a complete real-model
OpenCode cooperative tool loop; retain original results, cancellation and provenance.
- Implement remote conversation execution and actual protected private work,
Expand Down
Loading
Loading