igniter_lang 0.1.0.alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +65 -0
- data/RELEASE_NOTES.md +137 -0
- data/bin/igc +7 -0
- data/lib/igniter_lang/assembler.rb +717 -0
- data/lib/igniter_lang/classifier.rb +405 -0
- data/lib/igniter_lang/cli.rb +76 -0
- data/lib/igniter_lang/compilation_report.rb +99 -0
- data/lib/igniter_lang/compiler_orchestrator.rb +362 -0
- data/lib/igniter_lang/compiler_profile_contract_validator.rb +286 -0
- data/lib/igniter_lang/compiler_result.rb +77 -0
- data/lib/igniter_lang/diagnostics.rb +125 -0
- data/lib/igniter_lang/fragment_registry_compatibility_adapter.rb +129 -0
- data/lib/igniter_lang/internal_profile_assembly.rb +199 -0
- data/lib/igniter_lang/internal_profile_assembly_source_packet.rb +175 -0
- data/lib/igniter_lang/internal_profile_static_data_carrier.rb +286 -0
- data/lib/igniter_lang/oof_fragment_registry.rb +802 -0
- data/lib/igniter_lang/parser.rb +1736 -0
- data/lib/igniter_lang/runtime_smoke.rb +80 -0
- data/lib/igniter_lang/semanticir_emitter.rb +847 -0
- data/lib/igniter_lang/temporal_access_runtime.rb +437 -0
- data/lib/igniter_lang/temporal_executor.rb +457 -0
- data/lib/igniter_lang/typechecker.rb +821 -0
- data/lib/igniter_lang/version.rb +5 -0
- data/lib/igniter_lang.rb +27 -0
- metadata +72 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: fdb98a8602153b45f024cdc1119fc44b48a49bd252a1d2df43b648066526911e
|
|
4
|
+
data.tar.gz: e43e160b131d99de48ec2c8e81e49dc96b14b9c44d52f32bbcb3eb93f114dc33
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 144200d8bba3de920e1125cf802c86258abfdf9189cf3e8dd2fe959b63d37cd9801eff16562b33be262b7378877ccb3230bc08b841f9a9673fe697a6f6448e81
|
|
7
|
+
data.tar.gz: 7d86530329526fdc770c90a9349a0663902a5eb50214b091fda8e282bae75e90c8b3fdfb157954c14fe7b358e18e3bd88f85775384421c73c893c08f1d83898a
|
data/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# igniter-lang
|
|
2
|
+
|
|
3
|
+
Status: separate research workspace
|
|
4
|
+
Owner: `[Architect Supervisor / Codex]`
|
|
5
|
+
Agent identity: `[Igniter-Lang Research Agent]`
|
|
6
|
+
|
|
7
|
+
`igniter-lang` is a contract-native language research ecosystem adjacent to,
|
|
8
|
+
but separate from, the Igniter platform.
|
|
9
|
+
|
|
10
|
+
## Working Hypothesis
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
Igniter = framework/platform for real systems.
|
|
14
|
+
Igniter-Lang = language research ecosystem for contract-native computation.
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
They share concepts, but they should not share release pressure, package
|
|
18
|
+
boundaries, or premature syntax/runtime commitments.
|
|
19
|
+
|
|
20
|
+
## Why Separate
|
|
21
|
+
|
|
22
|
+
- The platform must stay practical and shippable.
|
|
23
|
+
- The language needs room for theory, axioms, and new paradigms.
|
|
24
|
+
- Research docs should not pollute platform docs.
|
|
25
|
+
- Language experiments should influence Igniter through explicit bridge notes,
|
|
26
|
+
not by silently changing packages.
|
|
27
|
+
|
|
28
|
+
## Start Here
|
|
29
|
+
|
|
30
|
+
1. Read [AGENTS.md](AGENTS.md).
|
|
31
|
+
2. Read [handoff/START_PROMPT.md](handoff/START_PROMPT.md).
|
|
32
|
+
3. Use [docs/README.md](docs/README.md) as the research index.
|
|
33
|
+
4. Start with [docs/tracks/observable-contract-language-v0.md](docs/tracks/observable-contract-language-v0.md).
|
|
34
|
+
|
|
35
|
+
## Package Status
|
|
36
|
+
|
|
37
|
+
`igniter_lang 0.1.0.alpha.1` — alpha prerelease candidate. Not yet published.
|
|
38
|
+
See [RELEASE_NOTES.md](RELEASE_NOTES.md) for scope, accepted local evidence,
|
|
39
|
+
required fresh smoke, and exclusions.
|
|
40
|
+
|
|
41
|
+
RubyGems publish, release execution, and tag/push/sign/deploy remain closed
|
|
42
|
+
pending fresh package/install smoke and profile-source installed smoke for
|
|
43
|
+
this version.
|
|
44
|
+
|
|
45
|
+
## Current Navigation
|
|
46
|
+
|
|
47
|
+
Internal read-only context (local evidence only — not a release, publish, or public demo claim):
|
|
48
|
+
|
|
49
|
+
- [docs/README.md](docs/README.md) — documentation index
|
|
50
|
+
- [docs/current-status.md](docs/current-status.md) — stage scoreboard and accepted local evidence
|
|
51
|
+
- [docs/ruby-api.md](docs/ruby-api.md) — caller-facing local proof compiler API
|
|
52
|
+
|
|
53
|
+
Accepted local evidence (for `0.1.0.pre.stage2`; repo-local; fresh smoke required for `0.1.0.alpha.1`; release execution and public release/demo claims remain closed):
|
|
54
|
+
|
|
55
|
+
- Repo-local compiler RC evidence: PASS
|
|
56
|
+
- Local package install smoke: PASS
|
|
57
|
+
- Bounded installed profile-source smoke: PASS
|
|
58
|
+
|
|
59
|
+
RubyGems publish, release execution, version/tag/push/sign/deploy, profile
|
|
60
|
+
finalization/discovery/defaulting, branch/conditional `if_expr`, Spark
|
|
61
|
+
integration, runtime, and production behavior remain out of scope.
|
|
62
|
+
|
|
63
|
+
## Write Rule
|
|
64
|
+
|
|
65
|
+
Write only inside this `igniter-lang/` workspace.
|
data/RELEASE_NOTES.md
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Igniter-Lang Release Notes
|
|
2
|
+
|
|
3
|
+
## 0.1.0.alpha.1 (alpha prerelease candidate — not yet published)
|
|
4
|
+
|
|
5
|
+
**Status:** alpha / prerelease candidate
|
|
6
|
+
**Package:** `igniter_lang`
|
|
7
|
+
**Executable:** `igc`
|
|
8
|
+
**Tag candidate:** `igniter-lang-v0.1.0.alpha.1` (candidate only — no tag created)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
### What This Is
|
|
13
|
+
|
|
14
|
+
This is the first public prerelease candidate for the `igniter_lang` package.
|
|
15
|
+
It is an alpha release of the bounded compiler CLI for the Igniter contract-native
|
|
16
|
+
language research workspace.
|
|
17
|
+
|
|
18
|
+
This is **not** a stable release, **not** a production release, and **not** a
|
|
19
|
+
public demo claim.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### Accepted Local Evidence (pre-publish)
|
|
24
|
+
|
|
25
|
+
The following local evidence was accepted for the prior internal version
|
|
26
|
+
(`0.1.0.pre.stage2`). Fresh smoke is required for `0.1.0.alpha.1` before any
|
|
27
|
+
publish authorization can be reconsidered.
|
|
28
|
+
|
|
29
|
+
| Evidence | Status |
|
|
30
|
+
|---|---|
|
|
31
|
+
| Repo-local compiler RC evidence | PASS (`0.1.0.pre.stage2`) |
|
|
32
|
+
| Local package install smoke | PASS (`0.1.0.pre.stage2`) |
|
|
33
|
+
| Bounded installed profile-source smoke | PASS (`0.1.0.pre.stage2`) |
|
|
34
|
+
|
|
35
|
+
The prior accepted gem SHA256 (`sha256:dba3f0044535e8c05ad913a02c08ab06bab1602fb085290f225de206505ba46a`)
|
|
36
|
+
is **invalidated** by this version change. It no longer applies.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
### Required Fresh Smoke Before Publish Authorization
|
|
41
|
+
|
|
42
|
+
Because the version changed from `0.1.0.pre.stage2` to `0.1.0.alpha.1`, the
|
|
43
|
+
following fresh smoke must be run and accepted before any publish authorization
|
|
44
|
+
can open:
|
|
45
|
+
|
|
46
|
+
| Smoke | Required |
|
|
47
|
+
|---|---|
|
|
48
|
+
| Post-prep package/install smoke for `igniter_lang 0.1.0.alpha.1` | **yes** |
|
|
49
|
+
| Post-prep profile-source installed smoke for `igniter_lang 0.1.0.alpha.1` | **yes** |
|
|
50
|
+
|
|
51
|
+
Minimum checks required in each smoke run:
|
|
52
|
+
|
|
53
|
+
- gemspec syntax check
|
|
54
|
+
- `gem build` → `igniter_lang-0.1.0.alpha.1.gem`
|
|
55
|
+
- isolated gem install (no repo-relative `-I`)
|
|
56
|
+
- installed `igc` present at `$BIN_DIR/igc`
|
|
57
|
+
- `require "igniter_lang"` without repo path leak
|
|
58
|
+
- positive corpus compile via installed `igc`
|
|
59
|
+
- negative corpus refusal via installed `igc`
|
|
60
|
+
- valid finalized profile-source success
|
|
61
|
+
- malformed JSON profile-source preflight refusal
|
|
62
|
+
- semantic wrong-kind profile-source refusal
|
|
63
|
+
- artifact SHA256 captured for the new gem
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### Bounded CLI
|
|
68
|
+
|
|
69
|
+
The installed `igc` CLI supports bounded contract compilation:
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
igc compile SOURCE --out OUT.igapp
|
|
73
|
+
igc compile SOURCE --out OUT.igapp --compiler-profile-source PATH.json
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
`PATH.json` must be an already-finalized `compiler_profile_id_source` JSON object.
|
|
77
|
+
The CLI does not discover, default, finalize, or infer compiler profile sources.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### Exclusions
|
|
82
|
+
|
|
83
|
+
The following are **explicitly excluded** from this release:
|
|
84
|
+
|
|
85
|
+
| Surface | Status |
|
|
86
|
+
|---|---|
|
|
87
|
+
| Stable release | Not this version |
|
|
88
|
+
| Production-ready | No claim |
|
|
89
|
+
| Public demo-ready | No claim |
|
|
90
|
+
| All grammar support | No claim — bounded accepted corpus only |
|
|
91
|
+
| Branch/conditional `if_expr` | **Excluded** from first RC scope |
|
|
92
|
+
| Profile finalization | Closed — explicit finalized path transport only |
|
|
93
|
+
| Profile discovery | Closed |
|
|
94
|
+
| Profile defaulting | Closed |
|
|
95
|
+
| Named/generated profile lookup | Closed |
|
|
96
|
+
| Inline JSON profile source | Closed |
|
|
97
|
+
| Env/config/sidecar profile lookup | Closed |
|
|
98
|
+
| Spark integration | Out of scope |
|
|
99
|
+
| Ruby Framework compatibility | Not claimed |
|
|
100
|
+
| Runtime / Ledger / TBackend / BiHistory | Not claimed |
|
|
101
|
+
| Public API/CLI widening | No widening beyond accepted `--compiler-profile-source PATH.json` |
|
|
102
|
+
| RubyGems availability | Not yet — publish not authorized |
|
|
103
|
+
| Release execution | Closed pending fresh smoke and explicit authorization |
|
|
104
|
+
| Tag/push/sign/deploy | Closed |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### What Remains Closed
|
|
109
|
+
|
|
110
|
+
Release execution, RubyGems publish, git tag creation, git push, signing,
|
|
111
|
+
and deployment remain closed until:
|
|
112
|
+
|
|
113
|
+
1. Fresh package/install smoke passes for `igniter_lang 0.1.0.alpha.1`
|
|
114
|
+
2. Fresh profile-source installed smoke passes for `igniter_lang 0.1.0.alpha.1`
|
|
115
|
+
3. RubyGems version-collision check is run for `0.1.0.alpha.1`
|
|
116
|
+
4. Tag collision check is run for `igniter-lang-v0.1.0.alpha.1`
|
|
117
|
+
5. Explicit release-execution authorization is granted by a separate card
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### Non-Claims
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
not_stable: true
|
|
125
|
+
not_production_ready: true
|
|
126
|
+
not_public_demo_ready: true
|
|
127
|
+
not_all_grammar_support: true
|
|
128
|
+
branch_conditional_if_expr_excluded: true
|
|
129
|
+
profile_finalization_closed: true
|
|
130
|
+
profile_discovery_closed: true
|
|
131
|
+
profile_defaulting_closed: true
|
|
132
|
+
spark_out_of_scope: true
|
|
133
|
+
ruby_framework_compatibility_not_claimed: true
|
|
134
|
+
rubygems_available_claim: false
|
|
135
|
+
release_execution_authorized: false
|
|
136
|
+
tag_push_sign_deploy_authorized: false
|
|
137
|
+
```
|