Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ca9868e
Fix fabrication-on-error sites in 04_infer.dag
briansrls Mar 18, 2026
f88cff7
Delete TypeExpr infrastructure from v2 compiler
briansrls Mar 18, 2026
14560c6
Fix fabrication-on-error sites in v2 parser to preserve available con…
briansrls Mar 18, 2026
bf25506
Kahn O(E) optimization, pipeline resolution gate, language extdep emi…
briansrls Mar 18, 2026
220dce9
Add match exhaustiveness checking for coproduct types
briansrls Mar 18, 2026
cc00d37
Replace O(n) concat([x], acc) with O(1) list_push(acc, x) in parser
briansrls Mar 18, 2026
46a3cc1
Extract shared classification logic from emitter backends into 05_emi…
briansrls Mar 18, 2026
bb5617d
Delete typed_expr_to_expr — no external callers remain
briansrls Mar 18, 2026
c476172
Increase stacker threshold from 32KB to 512KB for generated v2 crate
briansrls Mar 18, 2026
3801290
Add E0 artifact model — explicit wrapper for monolithic compilation
briansrls Mar 18, 2026
e8e6a03
D1: define cost algebra and proof vocabulary for complexity analysis
briansrls Mar 18, 2026
81067fd
Document why emit language data cannot yet import from extdeps
briansrls Mar 18, 2026
a660592
Add Track R (representation sizing) to ROADMAP
briansrls Mar 18, 2026
0735d14
Add R5 (TCO clone leak) to Track R — root cause of generated crate OOM
briansrls Mar 18, 2026
594b0d3
R5: fix TCO clone leak — move state instead of cloning at loop top
briansrls Mar 18, 2026
f76fe87
Add PERF_AUDIT.md — end-to-end pipeline trace from .dag to generated …
briansrls Mar 18, 2026
7181963
Expand PERF_AUDIT with full intrinsic audit and structural prevention…
briansrls Mar 18, 2026
ef7cbf0
.
briansrls Mar 18, 2026
835171b
Structural prevention plan: complexity contracts, self-hosting, Track…
briansrls Mar 18, 2026
359bd3f
R6: O(1) string intrinsics for ASCII — char_at, string_length, substr…
briansrls Mar 18, 2026
ac7e6cf
Add kernel primitive complexity contracts for Track D cost algebra
briansrls Mar 18, 2026
4d913d1
R3: precise fix spec for borrow-based codegen — Track A blocker
briansrls Mar 18, 2026
c99157d
R3: borrow-based codegen — String params become &str in generated code
briansrls Mar 18, 2026
32820ad
R2: box Node.transport and Node.config to shrink type size
briansrls Mar 18, 2026
3ca5819
R1: add type size assertions to generated v2 crate tests
briansrls Mar 18, 2026
60123c3
R4: COW list_push in interpreter via Arc<Vec<Value>>
briansrls Mar 18, 2026
a7d4fb9
Update ROADMAP and PERF_AUDIT with 2026-03-18 session progress
briansrls Mar 18, 2026
667b2a7
Fix integration: generated test template for &str params, release-mod…
briansrls Mar 18, 2026
8ed7409
Rework ROADMAP with post-R1-R7 understanding and dependency chart
briansrls Mar 18, 2026
c9c261a
ROADMAP: decisions on all 5 blockers + R8 migration catalog
briansrls Mar 18, 2026
dfc5736
Blocker 3: delete TypeExpr and Predicate from 00_core.dag
briansrls Mar 18, 2026
c1c8ff6
R8: Rc-wrap generated types — DAG value semantics as shared ownership
briansrls Mar 18, 2026
2f19714
R8: fix remaining generated crate errors for Rc-wrapped types
briansrls Mar 18, 2026
fb1e597
R8: remove R2 Box-override — Rc makes Box-wrapping redundant
briansrls Mar 18, 2026
d3ff225
R8: fix generated test template for Rc-wrapped types
briansrls Mar 18, 2026
a00ce3f
Strip Unicode from .dag comments -- fixes tokenizer byte-index assump…
briansrls Mar 18, 2026
a0566e8
SG-6 postmortem + gist pipeline profiling infrastructure
briansrls Mar 18, 2026
65f3fdc
SG-6 postmortem: add test gap analysis
briansrls Mar 18, 2026
0938c13
R8: fix nested Rc pattern match regression — merge same-variant arms
briansrls Mar 18, 2026
f881dbe
Fix operator precedence: parenthesize nested BinOp sub-expressions
briansrls Mar 18, 2026
d4e4858
PERF_AUDIT: add SG-7, SG-8 postmortems and final performance results
briansrls Mar 18, 2026
039b4a7
Rename infer→reconcile: types are namespaces, not type-theoretic cons…
briansrls Mar 18, 2026
8bc93ad
ROADMAP: R8 complete, A1 gist compile is next on critical path
briansrls Mar 18, 2026
b296e08
Fix resolve_node infinite recursion with depth-bounded traversal
briansrls Mar 18, 2026
fd0e378
.
briansrls Mar 18, 2026
441f6c8
.
briansrls Mar 18, 2026
a9d888a
.
briansrls Mar 19, 2026
6ea1685
.
briansrls Mar 19, 2026
1b2a319
.
briansrls Mar 19, 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
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ edition = "2021"
license = "MIT"

[workspace.dependencies]
serde = { version = "1.0", features = ["derive"] }
serde = { version = "1.0", features = ["derive", "rc"] }
serde_json = "1.0"
thiserror = "1.0"
toml = "0.8"
Expand Down
954 changes: 954 additions & 0 deletions PERF_AUDIT.md

Large diffs are not rendered by default.

1,363 changes: 644 additions & 719 deletions ROADMAP.md

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions dsl/extdeps/cargo.dag
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
// features, and command behaviors.
//
// Consumers:
// tools/clippy.dag — clippy lint workflow
// config/build_commands.dag — build command composition
// tools/build.dag — build workflow
// tools/clippy.dag -- clippy lint workflow
// config/build_commands.dag -- build command composition
// tools/build.dag -- build workflow

module extdeps.cargo

// ── Package model ─────────────────────────────────────────────────
// -- Package model -------------------------------------------------

type CargoPackage {
name: String
Expand All @@ -19,7 +19,7 @@ type CargoPackage {
path: String
}

// ── Targets ───────────────────────────────────────────────────────
// -- Targets -------------------------------------------------------

type CargoTarget
= Lib
Expand All @@ -28,7 +28,7 @@ type CargoTarget
| Example { name: String }
| Bench { name: String }

// ── Profiles ──────────────────────────────────────────────────────
// -- Profiles ------------------------------------------------------
// Cargo allows arbitrary user-defined profiles in Cargo.toml
// (e.g., [profile.ci-optimized]). Use String to avoid a closed-world
// enum that cannot represent valid workspaces.
Expand All @@ -37,28 +37,28 @@ type CargoProfile = String

data canonical_profiles: List<String> = ["dev", "release", "test", "bench"]

// ── Features ──────────────────────────────────────────────────────
// -- Features ------------------------------------------------------

type CargoFeature {
name: String
dependencies: List<String>
}

// ── Test harness ──────────────────────────────────────────────────
// -- Test harness --------------------------------------------------

type TestHarness = Harness | NoHarness

// ── Commands ──────────────────────────────────────────────────────
// -- Commands ------------------------------------------------------

type CargoCommand = CargoBuild | CargoTest | CargoClippy | CargoDoc | CargoRun | CargoCheck | CargoBench | CargoPublish

// ── Constants ─────────────────────────────────────────────────────
// -- Constants -----------------------------------------------------

data default_edition: String = "2021"

data default_profile: CargoProfile = "dev"

// ── Service: shell transport wiring ─────────────────────────────
// -- Service: shell transport wiring -----------------------------

service cargo.Build {
operation Build {
Expand Down
22 changes: 11 additions & 11 deletions dsl/extdeps/cloud/cloud.dag
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// extdeps/cloud/core.dag -- "What is a cloud provider?"
//
// Universal concepts shared across GCP, AWS, and Azure.
// Types only — concrete values live in provider-specific core.dag files.
// Types only -- concrete values live in provider-specific core.dag files.
//
// Consumers:
// extdeps/cloud/gcp/core.dag — GCP-specific identity, endpoints
// extdeps/cloud/aws/core.dag — AWS-specific ARNs, SigV4
// extdeps/cloud/azure/core.dag — Azure-specific tenants, subscriptions
// extdeps/cloud/gcp/core.dag -- GCP-specific identity, endpoints
// extdeps/cloud/aws/core.dag -- AWS-specific ARNs, SigV4
// extdeps/cloud/azure/core.dag -- Azure-specific tenants, subscriptions

module extdeps.cloud.cloud

// ── Authentication schemes ────────────────────────────────────────
// -- Authentication schemes ----------------------------------------
// How cloud APIs authenticate requests. Each provider uses a subset.

type CloudAuthScheme
Expand All @@ -19,46 +19,46 @@ type CloudAuthScheme
| ApiKey
| OidcToken { audience: String }

// ── Service endpoints ─────────────────────────────────────────────
// -- Service endpoints ---------------------------------------------

type ServiceEndpoint {
base_url: String
version: String
regional: Bool
}

// ── Rate limiting ─────────────────────────────────────────────────
// -- Rate limiting -------------------------------------------------

type RateLimitPolicy {
requests_per_minute: Int
burst: Int?
scope: String
}

// ── Credentials ───────────────────────────────────────────────────
// -- Credentials ---------------------------------------------------

type Credential {
scheme: CloudAuthScheme
scopes: List<String>?
expires_seconds: Int?
}

// ── Idempotency ───────────────────────────────────────────────────
// -- Idempotency ---------------------------------------------------

type IdempotencyToken {
header: String
format: String
}

// ── Quotas ────────────────────────────────────────────────────────
// -- Quotas --------------------------------------------------------

type CloudQuota {
resource: String
limit: Int
scope: String
}

// ── Regions ───────────────────────────────────────────────────────
// -- Regions -------------------------------------------------------

type CloudRegion {
provider: String
Expand Down
16 changes: 8 additions & 8 deletions dsl/extdeps/cloud/gcp/gcp.dag
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,23 @@
//
// Consumers:
// extdeps/cloud/gcp/{storage,pubsub,iam,secret_manager,cloud_run,sts}.dag
// gunbc/auth/patterns.dag — credential chain
// gunbc/auth/patterns.dag -- credential chain

module extdeps.cloud.gcp.gcp

import extdeps.cloud.cloud { ServiceEndpoint, CloudAuthScheme }
import std.types { FilePath, NonEmptyStr, Secret }
import std.errors { GcpErrorShape }

// ── Projects ──────────────────────────────────────────────────────
// -- Projects ------------------------------------------------------

type GcpProject {
project_id: String
project_number: Int
name: String
}

// ── Service accounts ──────────────────────────────────────────────
// -- Service accounts ----------------------------------------------

type GcpServiceAccount {
email: String
Expand All @@ -34,7 +34,7 @@ type GcpServiceAccount {
disabled: Bool
}

// ── OAuth2 scopes ─────────────────────────────────────────────────
// -- OAuth2 scopes -------------------------------------------------

type OAuth2Scope {
scope: String
Expand All @@ -49,7 +49,7 @@ data common_scopes: List<OAuth2Scope> = [
{ scope: "https://www.googleapis.com/auth/secretmanager", description: "Secret Manager access" }
]

// ── Workload Identity Federation ──────────────────────────────────
// -- Workload Identity Federation ----------------------------------

type WifPool {
name: String
Expand All @@ -65,7 +65,7 @@ type WifProvider {
attribute_mapping: Map<String, String>?
}

// ── API endpoints ─────────────────────────────────────────────────
// -- API endpoints -------------------------------------------------
// Pattern: {service}.googleapis.com/{version}

type GcpApiEndpoint {
Expand All @@ -83,7 +83,7 @@ data api_endpoints: List<GcpApiEndpoint> = [
{ service: "sts", base_url: "https://sts.googleapis.com/v1", version: "v1" }
]

// ── Regions ───────────────────────────────────────────────────────
// -- Regions -------------------------------------------------------

type GcpRegion {
name: String
Expand All @@ -100,7 +100,7 @@ data regions: List<GcpRegion> = [
{ name: "eu", zones: [], multi_region: true }
]

// ── Service: GCP auth operations (shell + REST transport) ───────
// -- Service: GCP auth operations (shell + REST transport) -------

service gcloud.Auth {
operation Login {
Expand Down
14 changes: 7 additions & 7 deletions dsl/extdeps/cloud/gcp/iam.dag
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
// chains, token lifetimes.
//
// Consumers:
// gunbc/auth/patterns.dag — credential_chain pattern
// gunbc/auth/patterns.dag — credential_chain pattern
// gunbc/auth/patterns.dag -- credential_chain pattern
// gunbc/auth/patterns.dag -- credential_chain pattern

module extdeps.cloud.gcp.iam

import extdeps.cloud.gcp.gcp { GcpServiceAccount, GcpProject }
import std.errors { GcpErrorShape }

// ── Roles ─────────────────────────────────────────────────────────
// -- Roles ---------------------------------------------------------

type GcpRole {
name: String
Expand All @@ -32,7 +32,7 @@ data common_roles: List<GcpRole> = [
{ name: "roles/run.invoker", title: "Cloud Run Invoker", permissions: null, predefined: true }
]

// ── Bindings & policies ───────────────────────────────────────────
// -- Bindings & policies -------------------------------------------

type IamCondition {
title: String
Expand All @@ -52,15 +52,15 @@ type GcpPolicy {
version: Int
}

// ── Impersonation ─────────────────────────────────────────────────
// -- Impersonation -------------------------------------------------

type ImpersonationChain {
source: String
target: String
delegates: List<String>
}

// ── Token lifetimes ───────────────────────────────────────────────
// -- Token lifetimes -----------------------------------------------

type TokenLifetime {
default_seconds: Int
Expand All @@ -72,7 +72,7 @@ data default_token_lifetime: TokenLifetime = {
max_seconds: 43200
}

// ── Service: REST transport wiring ──────────────────────────────
// -- Service: REST transport wiring ------------------------------

service gcp.IAM {
config {
Expand Down
16 changes: 8 additions & 8 deletions dsl/extdeps/cloud/gcp/secret_manager.dag
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
// behavioral specs for coordination/access patterns).
//
// Consumers:
// gunbc/auth/patterns.dag — credential-chain secret access
// gunbc/auth/patterns.dag -- credential-chain secret access

module extdeps.cloud.gcp.secret_manager

import extdeps.cloud.gcp.gcp { GcpProject }
import std.errors { GcpErrorShape }

// ── Replication ───────────────────────────────────────────────────
// -- Replication ---------------------------------------------------

type SmReplica {
location: String
Expand All @@ -24,7 +24,7 @@ type SmReplication
= Automatic
| UserManaged { replicas: List<SmReplica> }

// ── Secrets ───────────────────────────────────────────────────────
// -- Secrets -------------------------------------------------------

type GcpSecret {
name: String
Expand All @@ -34,7 +34,7 @@ type GcpSecret {
create_time: String
}

// ── Versions ──────────────────────────────────────────────────────
// -- Versions ------------------------------------------------------

type SmVersionState = SmEnabled | SmDisabled | SmDestroyed

Expand All @@ -44,26 +44,26 @@ type GcpSecretVersion {
create_time: String
}

// ── Payload ───────────────────────────────────────────────────────
// -- Payload -------------------------------------------------------

type SecretPayload {
data: Bytes
}

// ── Rotation ──────────────────────────────────────────────────────
// -- Rotation ------------------------------------------------------

type SmRotationSchedule {
next_rotation_time: String?
rotation_period_seconds: Int?
}

// ── Constants ─────────────────────────────────────────────────────
// -- Constants -----------------------------------------------------

data max_secret_size_bytes: Int = 65536

data max_versions: Int = 1000

// ── Service: REST transport wiring ──────────────────────────────
// -- Service: REST transport wiring ------------------------------

service gcp.SecretManager {
config {
Expand Down
Loading
Loading