Skip to content
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
7d9fa3c
docs(adr): ADR-0012 persistence reset to SQLite + corrected project s…
RedEyeNinja-BKK Aug 6, 2026
84ff725
docs: finalize ADR-0012 persistence contracts
RedEyeNinja-BKK Aug 6, 2026
ce05625
chore: establish methodfactory package, test extras, CI matrix, and i…
RedEyeNinja-BKK Aug 6, 2026
fda563d
refactor: introduce storage protocol and canonical serialization prim…
RedEyeNinja-BKK Aug 6, 2026
e442929
feat: add SQLite schema creation, identity checks, and append-only gu…
RedEyeNinja-BKK Aug 6, 2026
b0dd2ca
fix(storage): Finding 1 - SQLite open and initialization contract exe…
RedEyeNinja-BKK Aug 7, 2026
11ba5a7
fix(storage+manifest+errors): Finding 2 - one canonical serialization…
RedEyeNinja-BKK Aug 7, 2026
6f3b94d
fix(artifacts+paths+limits): Finding 3 - durability, path validation,…
RedEyeNinja-BKK Aug 7, 2026
5c34953
docs+ci: Finding 4 - align documentation and CI evidence
RedEyeNinja-BKK Aug 7, 2026
798ce1c
fix(storage): Finding 2 item 4 completion - translate raw sqlite3 at …
RedEyeNinja-BKK Aug 7, 2026
91de1b8
ci: allowlist egg-info in explicit artifact scan (install byproduct)
RedEyeNinja-BKK Aug 7, 2026
daaa506
feat(boundary): Finding 1 - enforce the complete boundary model
RedEyeNinja-BKK Aug 7, 2026
f1fb72b
fix(artifacts): Finding 2 - genuinely immutable blob publication + re…
RedEyeNinja-BKK Aug 7, 2026
91f83af
fix(storage): Finding 3 - complete SQLite schema and open verification
RedEyeNinja-BKK Aug 7, 2026
94897ce
fix(errors): Finding 4 - complete the public error boundary
RedEyeNinja-BKK Aug 7, 2026
fd1bff5
fix(protocol): complete first-release boundary and unit model (review…
RedEyeNinja-BKK Aug 7, 2026
82fa8ca
fix(artifacts): complete durability and failure translation (review 4…
RedEyeNinja-BKK Aug 7, 2026
a810bef
fix(storage): make SQLite open and schema verification exact (review …
RedEyeNinja-BKK Aug 7, 2026
ea5b054
fix(boundary): freeze the actual public error surface (review 4879440…
RedEyeNinja-BKK Aug 7, 2026
9146872
feat(storage): transactional create/load/apply with idempotent replay…
RedEyeNinja-BKK Aug 7, 2026
b5adb3e
test(storage): transactional slice evidence - engine/store/chain suit…
RedEyeNinja-BKK Aug 7, 2026
e8b7879
fix(storage): closure A1-A3 - semantic create identity, canonical sto…
RedEyeNinja-BKK Aug 7, 2026
7213e3d
feat(storage): invariant closure - deterministic replay + timestamp c…
RedEyeNinja-BKK Aug 7, 2026
42ff7d9
docs: freeze v0.1.2 migration and export compatibility contract
RedEyeNinja-BKK Aug 7, 2026
b9e46c1
docs: close migration compatibility contract
RedEyeNinja-BKK Aug 7, 2026
c4ddcf0
feat(migration): frozen v0.1.2 reader, atomic SQLite migration, deter…
RedEyeNinja-BKK Aug 7, 2026
34ba9d1
test(migration): fb5641c-origin fixtures + 44 migration/export tests;…
RedEyeNinja-BKK Aug 7, 2026
54ac313
fix(migration): close code-review findings - fail-closed boundary, at…
RedEyeNinja-BKK Aug 7, 2026
3a8d158
fix(migration): close round-2 review - root-mode invariant, snapshot …
RedEyeNinja-BKK Aug 7, 2026
9b718d6
fix(migration): close round-3 review - typed snapshot container guard…
RedEyeNinja-BKK Aug 8, 2026
ec62f17
fix(migration): close round-4 review - surrogate encoding, dest-root …
RedEyeNinja-BKK Aug 8, 2026
a0450b1
fix(migration): close round-5 review - typed UTF-8 boundary for all j…
RedEyeNinja-BKK Aug 8, 2026
7abdf53
fix(migration): close round-6 review - fd-pinned dest root, unconditi…
RedEyeNinja-BKK Aug 8, 2026
6a365cd
chore(migration): post-review hygiene - docstring steps restored, fd-…
RedEyeNinja-BKK Aug 8, 2026
775630e
ci(release-gate): fetch full history for fb5641c fixture generation
RedEyeNinja-BKK Aug 8, 2026
c70a6f3
docs(architecture-reset): mark migration/export gate complete at 7756…
RedEyeNinja-BKK Aug 8, 2026
a9fafbf
chore(release): prepare 2.0.0rc1 candidate
RedEyeNinja-BKK Aug 8, 2026
a6aeb8c
ci(release-gate): fix isolated-venv import provenance (CWD shadowing)
RedEyeNinja-BKK Aug 8, 2026
a037ecb
docs(architecture-reset): record RC1 candidate head a6aeb8c and gate …
RedEyeNinja-BKK Aug 8, 2026
93ec1af
docs(architecture-reset): label a6aeb8c as CI-proven RC preparation head
RedEyeNinja-BKK Aug 8, 2026
ac090e8
chore(release): close RC1 evidence identity
RedEyeNinja-BKK Aug 8, 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
69 changes: 41 additions & 28 deletions .github/workflows/release-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,55 @@ on:
branches: [main]
workflow_dispatch:

permissions:
contents: read

jobs:
gate:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 (pinned SHA)
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 (pinned SHA)
with:
python-version: "3.11"
python-version: ${{ matrix.python-version }}

- name: Install deps
run: pip install pyyaml
- name: Install with test extras
run: pip install -e ".[test]"

- name: Unit tests (hard gate)
run: python -m unittest discover -s core/tests -t .
- name: Canonical unit tests
run: python -m unittest discover -s methodfactory/tests -t .

- name: Identity sweepno stale PE references in new content
- name: Packaging smokemf entry point
run: |
# Zero-tolerance: new Method Factory content (prompts/ + core/ +
# action envelope spec) must not carry any Process Engine identity.
# Legacy source material (skills/, templates/, references/, evals/,
# scripts/) is Phase 5 quarantine work — exempt (ADR-0009).
# ADRs and manifest-contract document the migration and are exempt.
STALE='Process Engine|process-engine|v1\.9\.1|lineage v7\.2'
SCOPE="prompts/ core/ docs/action-envelope.md"
mf --version
python -m methodfactory --version

# Honest terminology (Finding 4 item 2): this proves a CLEAN TRACKED
# WORKTREE (no uncommitted/untracked tracked-tree changes). Generated
# runtime/build files are gitignored, so their absence is proven by the
# explicit artifact scan below, not by git status alone.
- name: Clean tracked worktree
run: |
test -z "$(git status --porcelain)" || { echo "::error::dirty tracked worktree"; git status --porcelain; exit 1; }

# Explicit runtime/build-artifact scan with a documented allowlist
# (Finding 4 item 2): runtime store artifacts and SQLite files must not
# exist in the filesystem. methodfactory.egg-info IS allowlisted here:
# it is a build byproduct of the `pip install -e ".[test]"` step above
# (generated + gitignored), not a runtime store artifact. build/, dist/,
# and .pytest_cache are checked when they would be produced by this job.
- name: Runtime/build-artifact scan (explicit)
run: |
FAIL=0
while IFS= read -r pattern; do
[ -z "$pattern" ] && continue
matches=$(grep -rIn "$pattern" $SCOPE --include='*.md' --include='*.py' 2>/dev/null || true)
if [ -n "$matches" ]; then
echo "::error::Stale PE reference in new content: $pattern"
echo "$matches"
FAIL=1
fi
done <<EOF
$(echo "$STALE" | tr '|' '\n')
EOF
for p in .mf build dist .pytest_cache; do
if [ -e "$p" ]; then echo "::error::forbidden generated artifact present: $p"; FAIL=1; fi
done
# SQLite rollback-journal files are forbidden (Finding 4 item 3).
found=$(find . -name '*.sqlite3' -o -name '*.sqlite' -o -name '*.db' \
-o -name '*.wal' -o -name '*.shm' -o -name '*.journal' 2>/dev/null | grep -v '^\./\.git/' || true)
if [ -n "$found" ]; then echo "::error::forbidden SQLite/journal artifact:"; echo "$found"; FAIL=1; fi
exit $FAIL
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,22 @@ node_modules/
# Trial workspaces (generated at trial time)
workspace/
iteration-*/

# Python build artifacts
*.egg-info/
build/
dist/

# Method Factory runtime store (operator data)
.mf/

# SQLite store + sidecars + rollback journal (ADR-0012 §3, Finding 4 item 3)
*.sqlite3
*.sqlite
*.db
*.wal
*.shm
*.journal

# Test caches
.pytest_cache/
11 changes: 0 additions & 11 deletions core/__init__.py

This file was deleted.

70 changes: 0 additions & 70 deletions core/adapters/artifact_store.py

This file was deleted.

134 changes: 0 additions & 134 deletions core/cli.py

This file was deleted.

Loading
Loading