Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
8042294
feat(dag): unify workflow authoring and blocks
LeXwDeX Aug 11, 2026
67d06e7
Merge pull request #229 from LeXwDeX/feat/workflow-authoring-validation
LeXwDeX Aug 11, 2026
2cf7455
fix(ci): pin ghostty-web to immutable SHA and freeze all CI installs …
LeXwDeX Aug 12, 2026
113b24e
Merge pull request #232 from LeXwDeX/fix/frozen-lockfile
LeXwDeX Aug 12, 2026
1263288
fix(opencode): make project memory process safe
LeXwDeX Aug 11, 2026
2494b45
docs(memory): add ProjectMemoryAuthority redo plan from d7b011738
LeXwDeX Aug 12, 2026
baf8598
docs(memory): fold plan-review findings; add P0 spec phase + resume p…
LeXwDeX Aug 12, 2026
16f1e1b
docs(memory): recreate ADR-0004 + CONTEXT authority glossary (P0 prop…
LeXwDeX Aug 12, 2026
5704eea
fix(project): repoint workflow+permission FK on identity upgrade (Occ…
LeXwDeX Aug 12, 2026
4b18989
docs(memory): adopt Occam minimal path (§10); reject elaborate ADR-00…
LeXwDeX Aug 12, 2026
7b30af3
docs(memory): close Occam #3/#4 as non-gaps; defer #2 (cascade) — pat…
LeXwDeX Aug 12, 2026
9f78858
fix(memory): make Memory fail-closed inert under the shared global id…
LeXwDeX Aug 12, 2026
419ac45
fix(memory): harden identity migration — residue tolerance, content m…
LeXwDeX Aug 12, 2026
216f649
fix(memory): close admission/lifecycle review findings — full-snapsho…
LeXwDeX Aug 12, 2026
f6fc23e
fix(worktree): make list() non-destructive and move worktree cleanup …
LeXwDeX Aug 12, 2026
5506755
test(memory): pin store resilience — corrupt-manifest fail-closed, it…
LeXwDeX Aug 12, 2026
8c91cbd
fix(memory): serialize MEMORY config file writers per file; pin cross…
LeXwDeX Aug 12, 2026
2382186
docs(memory): align CONTEXT.md and redo plan with the shipped Occam d…
LeXwDeX Aug 12, 2026
c5584bb
fix(memory): close Round 3/4 P2 findings — identity-lock protocol, sc…
LeXwDeX Aug 12, 2026
3dd5999
fix(memory): hold identity fence across the full retirement seam (MEM…
LeXwDeX Aug 12, 2026
7055931
fix(memory): single authority for the memory-identity fence protocol …
LeXwDeX Aug 12, 2026
580c624
fix(worktree): fail removal closed when the identity retires mid-remo…
LeXwDeX Aug 12, 2026
38fc94b
Merge pull request #234 from LeXwDeX/chore/worktree-lifecycle-audit
LeXwDeX Aug 12, 2026
b1f9e48
test(memory): stamp the instance store with the already-resolved iden…
LeXwDeX Aug 12, 2026
64bf539
Merge pull request #236 from LeXwDeX/fix/memory-ci-identity-fixture
LeXwDeX Aug 12, 2026
586d77a
test(memory): isolate the global config dir per test file (CI fix)
LeXwDeX Aug 12, 2026
7ec5673
Merge pull request #237 from LeXwDeX/fix/memory-ci-global-config-isol…
LeXwDeX Aug 12, 2026
349bd9c
fix(opencode): serialize goal automation state
LeXwDeX Aug 11, 2026
a05a8fa
fix(goal): bind dag lease registration lifetime to workflow terminal …
LeXwDeX Aug 12, 2026
1cdc2fd
fix(goal): release dag lease on terminalization without a runtime ent…
LeXwDeX Aug 12, 2026
4ee8922
fix(goal): re-trigger goal evaluation when the dag owner releases (GO…
LeXwDeX Aug 12, 2026
e75d099
fix(goal): serialize afterIdle evaluation across re-trigger races (GO…
LeXwDeX Aug 12, 2026
9cff41d
fix(goal): clean up goal state, outcomes, and dag leases on session d…
LeXwDeX Aug 12, 2026
0f59df4
fix(goal): publish session deletion after automation cleanup (GOAL-FP…
LeXwDeX Aug 12, 2026
9c68e5a
fix(goal): resume active goals after restart (GOAL-FP-01-04)
LeXwDeX Aug 12, 2026
ead30ca
fix(goal): scope the startup scan to the instance directory and harde…
LeXwDeX Aug 13, 2026
1da1439
fix(goal): close P3 hygiene findings (GOAL-FP-01-07/-08/-09/-12/-13/-…
LeXwDeX Aug 13, 2026
3c7ae28
fix(goal): harden the startup-scan seam — session.directory index, de…
LeXwDeX Aug 13, 2026
4fc8515
Merge pull request #235 from LeXwDeX/fix/goal-state-machine
LeXwDeX Aug 13, 2026
910c06f
fix(opencode): fence goal and dag automation
LeXwDeX Aug 13, 2026
5ee9eb3
Merge pull request #241 from LeXwDeX/fix/goal-automation-fence
LeXwDeX Aug 13, 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
4 changes: 2 additions & 2 deletions .github/actions/setup-bun/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ runs:
# e.g. ./patches/ for standard-openapi
# https://github.com/oven-sh/bun/issues/28147
if [ "$RUNNER_OS" = "Windows" ]; then
bun install --linker hoisted ${{ inputs.install-flags }}
bun install --frozen-lockfile --linker hoisted ${{ inputs.install-flags }}
else
bun install ${{ inputs.install-flags }}
bun install --frozen-lockfile ${{ inputs.install-flags }}
fi
shell: bash

Expand Down
41 changes: 22 additions & 19 deletions .github/workflows/release-fork.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,31 +89,40 @@ jobs:
# (LeXwDeX/opencode-dag-config) into a release asset. dev/main do not manage
# these templates anymore — the config repo is the single source of truth.
# Read-only: no commits, no pushes, so branch protection never blocks it.
#
# Validate-before-package: the releasing runtime commit runs its directory
# validator against the config repo HEAD BEFORE any copy/package step. Any
# invalid template — or an unavailable validator — fails the job (fail
# closed), so an unchecked archive can never be uploaded or embedded.
package-templates:
name: Package Reference Templates
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout Runtime (releasing commit)
uses: actions/checkout@v4

- name: Clone Config Repo
uses: actions/checkout@v4
with:
repository: LeXwDeX/opencode-dag-config
path: dag-config

- name: Package Templates
- name: Setup Bun
uses: ./.github/actions/setup-bun
with:
save-cache: false

- name: Install Runtime Dependencies
run: bun install --frozen-lockfile

- name: Validate and Package Templates (fail closed)
working-directory: packages/opencode
run: |
mkdir -p dist
shopt -s nullglob
files=(dag-config/*.yaml)
if [ ${#files[@]} -gt 0 ]; then
cp "${files[@]}" dist/
else
echo "::warning::No templates found in opencode-dag-config root; packaging empty archive"
fi
tar -czf dag-templates.tar.gz -C dist .
echo "Templates packaged: $(ls dist | wc -l) files"
echo "Packaging config commit $(git -C "$GITHUB_WORKSPACE/dag-config" rev-parse HEAD) with runtime commit $(git rev-parse HEAD)"
bun run script/package-dag-templates.ts "$GITHUB_WORKSPACE/dag-config" "$GITHUB_WORKSPACE/dag-templates.tar.gz"

- name: Upload Templates Artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -224,15 +233,9 @@ jobs:
for dir in opencode-*/; do
base="${dir%/}"
if [[ "$base" == *linux* ]]; then
tar -czf "${base}.tar.gz" -C "${base}/bin" .
bun run ../script/package-cli-artifact.ts "$base" "${base}.tar.gz"
else
cd "${base}/bin"
if command -v zip &>/dev/null; then
zip -r "../../${base}.zip" .
else
pwsh -Command "Compress-Archive -Path '*' -DestinationPath '../../${base}.zip'" 2>/dev/null || 7z a "../../${base}.zip" . || true
fi
cd ../..
bun run ../script/package-cli-artifact.ts "$base" "${base}.zip"
fi
done

Expand Down
4 changes: 3 additions & 1 deletion CONTEXT-MAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ Read the context documents relevant to the code or decision under review. Do not
| Context | Domain document | Primary areas |
| --- | --- | --- |
| Session Runtime and Client Contract | [`CONTEXT.md`](CONTEXT.md) | `packages/opencode/src/session`, `packages/opencode/src/system-context`, `packages/protocol`, `packages/client`, `packages/sdk` |
| Workflow Orchestration | [`packages/opencode/src/dag/CONTEXT.md`](packages/opencode/src/dag/CONTEXT.md) | `packages/opencode/src/dag`, workflow tool, DAG template validation and packaging |
| Project Memory | [`packages/opencode/src/memory/CONTEXT.md`](packages/opencode/src/memory/CONTEXT.md) | `packages/opencode/src/memory`, Memory-owned worktree lifecycle integration |

## Contexts created lazily

DAG orchestration does not yet have a dedicated `CONTEXT.md`. The full DAG review must establish terminology from implementation, tests, existing specifications, and accepted decisions before `/domain-modeling` creates one. Add future contexts to this map only when they have a stable document to reference.
Add future contexts to this map only when they have a stable document to reference.
13 changes: 13 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,16 @@ License boundaries
When a file under an AGPL-covered directory imports MIT-licensed upstream
modules, the upstream modules remain MIT; only the AGPL-covered files and
their derivatives carry AGPL obligations.

3. Engineering workflow methodologies

Source: https://github.com/mattpocock/skills
Revision: 84fdeffd12f2ee307994d1eb6feb48173b6e0502
License: MIT
Text: ./third_party/mattpocock-skills/LICENSE
Copyright (c) 2026 Matt Pocock

Selected decision, evidence, debugging, test-first delivery, codebase
design, review, and synthesis methodologies are adapted into product-owned
workflow routing and block contracts. Source metadata and adaptation scope
are recorded in ./third_party/mattpocock-skills/SOURCE.md.
4 changes: 2 additions & 2 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading