Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
25 changes: 20 additions & 5 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ concurrency:
cancel-in-progress: true
jobs:
qualification:
name: Linux / ${{ matrix.architecture }} / ${{ matrix.lane }}
name: Linux execution / ${{ matrix.architecture }} / ${{ matrix.lane }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
lane: [linux, linux-safety]
lane: [linux, linux-safety, composition]
architecture: [x86_64, arm64]
include:
- architecture: x86_64
Expand Down Expand Up @@ -47,9 +47,6 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE"
test "$(git rev-parse HEAD)" = "$GITHUB_SHA"
- run: python3 -B Scripts/ci.py --lane '${{ matrix.lane }}'
- name: Public composition and reference imports
if: matrix.lane == 'linux'
run: python3 -B Scripts/ci.py --lane composition
- name: Preserve Linux receipts
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
Expand All @@ -60,3 +57,21 @@ jobs:
path: |
.build/ci/
!.build/ci/**/reproduction/extracted/**
required:
# Both architectures and all three lanes must succeed. Preserve the four
# existing context names without converting an incomplete matrix to green.
name: Linux / ${{ matrix.architecture }} / ${{ matrix.lane }}
needs: qualification
if: ${{ always() }}
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
lane: [linux, linux-safety]
architecture: [x86_64, arm64]
steps:
- name: Require complete qualification
env:
QUALIFICATION_RESULT: ${{ needs.qualification.result }}
run: test "$QUALIFICATION_RESULT" = success
26 changes: 20 additions & 6 deletions .github/workflows/native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ concurrency:
cancel-in-progress: true
jobs:
qualification:
name: Native / ${{ matrix.lane }}
name: Native execution / ${{ matrix.lane }}
runs-on: xcode-27
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
lane: [native, safety, docs, archive]
lane: [native, safety, docs, archive, composition]
env:
DEVELOPER_DIR: /Applications/Xcode_27.2.app/Contents/Developer
PYTHONDONTWRITEBYTECODE: '1'
Expand All @@ -34,9 +34,6 @@ jobs:
- run: python3 -B Scripts/ci.py --lane '${{ matrix.lane }}'
env:
SWIFT_JSON_RELEASE_METADATA: ${{ github.workspace }}/.build/handoff/pages/latest-release.json
- name: Public composition and reference imports
if: matrix.lane == 'native'
run: python3 -B Scripts/ci.py --lane composition
- name: Preserve native receipts
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
Expand All @@ -63,10 +60,27 @@ jobs:
with:
path: .build/handoff/pages/site
include-hidden-files: true # Preserve the verified .nojekyll file; only the generated site is uploaded.
required:
# Preserve protected context names. Every execution lane, including
# composition, must succeed; a failed/cancelled/skipped dependency fails here.
name: Native / ${{ matrix.lane }}
needs: qualification
if: ${{ always() }}
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
lane: [native, safety, docs, archive]
steps:
- name: Require complete qualification
env:
QUALIFICATION_RESULT: ${{ needs.qualification.result }}
run: test "$QUALIFICATION_RESULT" = success
publish:
name: Documentation / publish
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
needs: qualification
needs: [qualification, required]
# Native compilation and all qualification happened in the jobs above.
# This job only publishes their exact static artifact.
runs-on: ubuntu-latest
Expand Down
27 changes: 19 additions & 8 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Contributor instructions

Prepared release source is 1.7.0; publication is a separate owner action. Its
parent development line is 1.7.0-dev and stable 1.6.1 remains separate. This is
not a maintenance release or the frozen 6fe8067 RC. Preserve all source-bound
qualification history; source integration never publishes a version.
Development source is 1.8.0-dev, based on published 1.7.0 at
8557badef562cf2f059e964c113d4a7f60ecbe6c. Stable 1.6.1 remains a separate
maintenance line. Preserve every source-bound qualification record. No 1.8
merge/tag/publication follows from implementation or passing tests.

Swift-JSON requires Swift tools/compiler 6.4+, Swift language mode 6 and
macOS/SDK 27+. Read README.md, CONTRIBUTING.md and the relevant contracts in
Expand Down Expand Up @@ -50,13 +50,24 @@ Scalar scanning and immutable plan-local regex sharing are selected private
optimizations. Source-attached N3 snapshots and P1 tree/sparse-table projections live in JSONInspection.
NAV10 set/matrix and NAV11 directed-simple-graph APIs are development capabilities
inside JSONInspection; no graph product, mutation or serializer is introduced.
Private NAV12 store construction/preparation remains package-only and shares one
original invocation ledger; no public store/follow API or persistence is exposed.
Wider retrieval/persistence, NAV13 batches and JSON text-sequence framing remain
separate, unadmitted work.
The 1.8 candidate promotes the checked immutable configured store inside
JSONInspection and adds ordered path/snapshot/store value batches, exact-ID lookup
and bounded complete BFS follow. Preserve the original construction phases and
one invocation-owned ledger per operation. Positions remain unforgeable and
source-instance-local. No persistence or mutable store is exposed. See
Documentation/Architecture/StructuralIntelligence/BoundedWorkflows1.8.md.
Wider retrieval/persistence and JSON text-sequence framing remain separate work.

JSONTransform uses one private compiler/VM and the CLI's accounted adapter.
Preserve its accepted 42 authored declarations and exact semantics. The original
1.7.0 P4 waiver and later partial measurements are historical scoped evidence;
no allocation, speed, RSS or controlled-performance pass follows from consolidation.
See Documentation/Qualification/Consolidation2026.md for combined gates and holds.

The commissioned 1.8 Transform binding train adds a source-definition codec and
compile reports while preserving those original declarations. Sprint 1
retains its historical test-only selection experiment. Sprint 2 adds public
guarded selection scopes, owner-bound positions and EOF completion reports;
preserve ordinary Transform semantics and require one cumulative invocation ledger.
See Documentation/Architecture/Release1.8/TransformBindings.md. No Content code,
lock, message, merge or publication is authorized by implementing this sprint.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
# Changelog

## Unreleased — 1.8.0-dev

- Add exact versioned Transform source definitions, a bounded native codec and
successful compilation reports through the existing compiler.
- Add finite indexed selection scopes over explicit populations, owner-bound
positions and private-constructor EOF/accounting witnesses. Admission, projection,
VM evaluation, provider/output handling and completion share one ledger.
Preserve order/repeats, first failures and terminal lease accounting; ordinary
Transform/CLI semantics and all thirteen products remain unchanged.

- Extend public acceptance across schema validation, store/transform reads and
checked Patch rebuilds, with exact numeric/scalar identity and lifecycle cases.
- Add a frozen capacity/owned-counter matrix and compiled cross-product recipes;
distinguish diagnostic refusals from completed cells and logical retention from
timing, RSS and allocations. Library APIs/algorithms and default policies unchanged.

- Add ordered typed-path, snapshot-ordinal and store-position value batches using
one cumulative native ledger per batch, complete source admission and atomic results.
- Promote the original checked configured-store profile/construction inside
JSONInspection; add exact-ID lookup and finite complete BFS reference following.
- Preserve exact numbers/scalar identity, unforgeable source-local positions,
explicit absent/null/link states and original construction error precedence.
- Add external SwiftPM examples, ordinary compiler refusals, boundary/lifecycle/
concurrency tests and exact scoped CI discovery. Qualification remains source-bound;
no 1.8 release or performance/platform pass is implied.

## Publication note — 28 October 2026

Version 1.7.0 was published from 8557badef562cf2f059e964c113d4a7f60ecbe6c.
The preparation records below retain their original historical wording.

## 1.7.0 — prepared source; publication separate

- Reconcile admitted set/matrix APIs with the reviewed public directed graph,
Expand Down
12 changes: 12 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# 1.8 scoped workflow qualification

This isolated development source is 1.8.0-dev from published 1.7.0.
Run `python3 Scripts/ci.py --lane structural-workflows` for exact Debug/Release
behavior, preserved store cases and public compiler/consumer checks. M2 adds
`--lane structural-acceptance` and `--lane structural-acceptance-safety` for exact
public cross-product cases, deterministic capacity observations and their safety
checks. These extend the existing gates. Run
`--lane structural-workflows-safety` for scoped ASan, shared-state TSan and strict
memory checks; complete native/Linux/docs/WASI gates still apply before release.
Do not infer a pass when storage or an actual supported runtime is unavailable.

# Contributing

Choose the source line deliberately: maintenance changes use the 1.6 line;
Expand Down
19 changes: 19 additions & 0 deletions Documentation/Architecture/API.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# 1.8 additive API candidate

The latest released source is 1.7.0 (8557bade); this feature source is 1.8.0-dev.
No product or dependency is added. JSONInspection now includes
`JSONInspectionBatch`, snapshot ordinal batches, public `JSONStoreBuilder`/
`JSONConfiguredStore` and typed profile/metadata/error declarations, exact-ID
lookup, position value batches and finite complete BFS follow.
See [the exact behavior/ownership boundary](StructuralIntelligence/BoundedWorkflows1.8.md)
and [qualification](../Qualification/Release1.8.md).
The optional JSONTransform candidate also adds immutable versioned source definitions,
a bounded native codec and successful compilation reports. Finite public selection
scopes produce owner-bound positions and private-constructor EOF completion reports
through the same compiler/VM. See the [binding contract](Release1.8/TransformBindings.md)
and [selection qualification](../Qualification/TransformSelection1.8.md). No released
1.7 signature or ordinary execution/CLI semantics change.
Navigation public signatures stay unchanged; its new selection capability is
package-only and uses the original admitted scope. Earlier inventories below
remain historical; compiler graphs must establish the final additive surface.

# Current API inventory

Unreleased 1.7.0-dev consolidation has twelve library products plus swift-json and
Expand Down
11 changes: 11 additions & 0 deletions Documentation/Architecture/ExtractionManifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,17 @@
"attribution": "Apache-2.0 prototype SPDX retained; original integration cases extend actual-engine qualification.",
"validation": "Scripts/ci.py --lane dsl; native and safety exact discovery",
"evidence": "Actual-engine Debug/Release/ASan receipts and real public consumer"
},
{
"component": "1.8 bounded structural workflows",
"source": "Original Swift-JSON implementation over the existing native prepared traversal and NAV12 checked store construction",
"paths": [
"Sources/JSONInspection/JSONInspectionBatch.swift",
"Sources/JSONInspection/Store/JSONStoreQueries.swift",
"Examples/BoundedWorkflows"
],
"validation": "Exact Debug/Release behavior, preserved 65 store vectors, public SwiftPM consumer, codegen negatives and safety/docs/platform gates; see Documentation/Qualification/Release1.8.md for actual status",
"dependencies": "No new dependencies or numeric/key/schema authority; Apache-2.0 original contributions"
}
],
"original_implementation_notes": [
Expand Down
Loading
Loading