File size: 6,019 Bytes
d8df231
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!--
Copyright (c) 2026 Ahmad Ali Parr. All rights reserved.
SPDX-License-Identifier: LicenseRef-Proprietary
Public source visibility does not grant an open-source license. See LICENSE.
-->

# Delivery workflow

Lead: Codex, during active working sessions. Product owner: repository owner.
Status: v1.0.0 verification-scaffold packaging; implementation continues and no
production interpreter release is certified.

## Working cycle

1. Select the next unmet gate and record its concrete acceptance criteria.
2. Implement a reviewable increment with tests of observable behavior.
3. Compile and run the tests; collect proof reports where applicable.
4. Commit the increment and update this ledger with evidence and blockers.
5. Release only after all required gates pass on the release commit.

## Backlog and acceptance gates

| Gate | Work | Required evidence | State |
| --- | --- | --- | --- |
| 0 | Combined ATS runtime, Idris semantic proofs, SPARK heap; freeze platform, dialect and licensing | Product decisions; authoritative semantics; license provenance | Architecture confirmed; remaining decisions open |
| A | Bounded slot-map heap with generations | Allocation exhaustion, reuse, stale lookup/update, invariant tests | Open |
| B | Parser and core machine: s,k,i,v,d,output,newline | Compiler success; strictness, delay, output order, fuel tests | Open |
| C | Continuations, exit and input primitives | Capture/restore, EOF, current-character, input order tests | Open |
| D | Independent reference comparisons | Pinned reference; byte-for-byte output and termination corpus | Open |
| E | GC, if required for release | Root tracing, continuation retention, stale-reference safety | Open |
| R | Packaging and production release | Clean builds; CI; installation smoke test; version/checksums; rollback instructions | Open |

## Current assessment

- Idris `stepControl` consumes fuel but does not evaluate terms.
- Ada heap is an allocation counter; it has no node slots or generation handles.
  The counter implementation compiles, passes exhaustion/reset tests, and has
  all six GNATprove checks discharged.
- ATS files are now typed, compiler-validated interfaces. There are no ATS
  runtime implementations or heap adapter yet.
- No executable Unlambda interpreter exists yet. The Idris control-model
  executable now builds and passes a smoke test in CI.
- Private GitHub repository and `origin` configured:
  https://github.com/AHMADALIPARR/unlambda-idris-spark.
  The owner explicitly approved the push; the Idris workflow is active.
- ATS, Idris 2, and GNATprove are absent from the current PATH. Git's bundled
  Bash is available at `C:/Program Files/Git/bin/bash.exe`.
- WSL has no usable installed distribution in the current environment.

## Definition of done

A runtime increment must compile and pass behavior and resource-boundary tests.
A proof increment must produce checked proof evidence; a source scan is insufficient.
A release must include a documented supported platform, CLI contract, resource
limits, tested installation, reproducible build instructions, license/provenance,
and a recorded passing release-gate result. Design documents alone do not pass a gate.

## Next increment

Architecture confirmed by the owner: ATS runtime, handwritten lambda-calculus
derivations formalized in Idris 2, and SPARK-verified heap contracts. The Idris
program/models must typecheck. Begin with the explicit SKI proof terms and
compiler workflow, then implement gate A before connecting the core machine.
Production platform and packaging remain to be decided.

## Proof increment

- Handwritten I/K/S beta derivations recorded in `spec/lambda-proofs.md`.
- Explicit indexed reduction witnesses written in `idris/LambdaProofs.idr`.
- Capture-avoidance boundary cases expressed as equality proofs.
- Corrected the original fuel theorem's successor inequality; added explicit
  `OutOfMemory` and exact fuel-consumption obligations.
- CI definition bootstraps pinned Idris 2 and retains typechecker logs.
- Local whitespace and Bash syntax checks pass; source scan finds no prohibited
  proof escape hatches in Idris, Ada, or ATS files.
- GitHub upload completed after the owner's explicit approval.
- Idris 2 0.8.0 typechecked the lambda proofs and control model, compiled the
  model program, and passed its smoke test at commit `bb9abcc`.
  [Recorded evidence](verification/idris-bb9abcc.md) links the successful run.
- SPARK proves the allocation-counter heap's current contracts. The generation
  slot-map required by gate A is still open.
- ATS interface validation passes; the ATS runtime, correspondence, and
  production packaging remain open.

## ATS/SPARK validation increment

- Replaced invalid ATS shorthand with typed interfaces; preserved originals.
- Strengthened allocation's contract to require success whenever capacity remains.
- Added assertion-enabled tests for all 64 allocations, exhaustion, reset, and reuse.
- Ran GNAT 13.3.0 and checksum-pinned GNATprove distribution 15.1.0.
- Proved all six checks; no unproved or justified checks, warnings, or assumptions.
- [Verification report](verification/ats-spark-af40c4e.md) records source commit,
  source hashes, toolchains, CI runs, proof scope, and remaining certification work.
- `verify.sh` now checks ATS interfaces, Idris proofs/executable, Ada tests, and
  GNATprove with unproved checks and warnings treated as errors.

## v1.0.0 release scope

The owner requested a v1 release of the current repository. It packages the
validated scaffold, with documentation, evidence, and checksums. It does not
mark runtime or production gates A–R complete. Repository description/topics,
CI/evidence badges, Mermaid flowcharts, conceptual images, contributing and
security policies, licensing-inquiry information, and support documentation
are included. Current original source is proprietary and source-visible under
[LICENSE](../LICENSE). Negotiated commercial terms and a donation destination
remain owner decisions.