Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
5c30107
WIP: T-WAD FULL R3 ci.dag scaffold first-draft (PR #2744 brief; outpu…
briansrls May 12, 2026
53b1a7e
WIP: T-WAD FULL R3 ci.dag scaffold first-draft (PR #2744 brief; outpu…
briansrls May 12, 2026
2c8f848
WIP: T-WAD FULL R3 ci.dag scaffold first-draft (PR #2744 brief; outpu…
briansrls May 12, 2026
3c15182
WIP: T-WAD FULL R3 ci.dag scaffold first-draft (PR #2744 brief; outpu…
briansrls May 12, 2026
238043e
WIP: T-WAD FULL R3 ci.dag scaffold first-draft (PR #2744 brief; outpu…
briansrls May 12, 2026
1edffb0
WIP: T-WAD FULL R3 ci.dag scaffold first-draft (PR #2744 brief; outpu…
briansrls May 12, 2026
6a409f0
Merge remote-tracking branch 'origin/main' into session/cool-carp-720
briansrls May 12, 2026
7916bb6
docs: add CI workflow emitter-dispatch canvas
briansrls May 12, 2026
3c97d0b
WIP: T-WAD FULL R3 ci.dag scaffold first-draft (PR #2744 brief; outpu…
briansrls May 12, 2026
681ef39
WIP: T-WAD FULL R3 emitter-dispatch architecture canvas (PR #2744 bri…
briansrls May 12, 2026
babe6f9
WIP: T-WAD FULL R3 ci.dag scaffold first-draft (PR #2744 brief; outpu…
briansrls May 12, 2026
caa1f32
Merge remote-tracking branches 'origin/session/cool-carp-720' and 'or…
briansrls May 12, 2026
abc65df
WIP: T-WAD FULL R3-close — Slices 4/5/8 (T-CI-WAD program-tag)
briansrls May 12, 2026
38affa9
WIP: T-WAD FULL R3-close — Slices 4/5/8 (T-CI-WAD program-tag)
briansrls May 12, 2026
f6c42b6
WIP: T-WAD FULL R3-close — Slices 4/5/8 (T-CI-WAD program-tag)
briansrls May 12, 2026
7f7af6f
docs: add T-CI-WAD slice 4 skeleton
briansrls May 12, 2026
49d5957
WIP: T-WAD FULL R3-close — Slices 4/5/8 (T-CI-WAD program-tag)
briansrls May 12, 2026
0108b2c
Merge remote-tracking branch 'origin/main' into session/stern-stag-854
briansrls May 12, 2026
7e1bc9f
docs: clarify T-CI-WAD projection sketch
briansrls May 12, 2026
11ff57f
docs: align T-CI-WAD prep with c-refined shape
briansrls May 12, 2026
8acbdfc
WIP: T-WAD FULL R3-close — Slices 4/5/8 (T-CI-WAD program-tag)
briansrls May 12, 2026
c7e8497
Merge remote-tracking branch 'origin/main' into session/stern-stag-854
briansrls May 12, 2026
1d534dd
Merge remote-tracking branch 'origin/main' into session/stern-stag-854
briansrls May 12, 2026
97bb072
Merge remote-tracking branch 'origin/main' into session/stern-stag-854
briansrls May 12, 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
66 changes: 66 additions & 0 deletions docs/briefs/r3-t-wad-full-r3-emission-target-gunbc-ci-sketch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# T-CI-WAD CI projection policy sketch

**Status**: PREP — supersedes prior Option B/C framings. Updated
2026-05-12 to reflect `(c-refined)` ratification per PR #2749 §7.3-§7.5
and Director msg_4f7f536d.

`dsl/extdeps/github/actions.dag` remains a GitHub Actions platform model only.
It must not carry gunbc CI emission policy. The CI projection choice lives in
the `dsl/gunbc/` namespace and is supplied at projection invocation time.

Terminology remains deliberately separate from Shape-A compiler target
selection. `src/v3/SELF_HOSTING.md` says YAML is a Shape-B artifact produced by
`.dag` programs, never a compiler `EmissionTarget` value. The ratified
T-CI-WAD `EmissionTarget` below is a gunbc CI projection mode for workflow
artifact generation, not a compiler target.

**Coproduct classification**: 🟡 SCAFFOLD. The initial variants are the
ratified projection modes needed for the T-CI-WAD sequence. Future variants are
added only at this single gunbc-namespace authority when a real projection
consumer lands.

## Ratified Shape

```dag
type EmissionTarget
= YamlStatic
| BinaryShim
| PythonShim
| InlineGunbc

fn project_github_actions(workflow: CIWorkflowDag, target: EmissionTarget) -> Workflow
```

`EmissionTarget` is standalone. It is not a field on `CIPipeline`,
`Workflow`, or a wrapper record. The selected target is a property of the
projection call:

```dag
data gunbc_ci_yml_workflow: Workflow =
project_github_actions(ci_workflow_dag, YamlStatic)
```

The binding name may persist for tests and downstream emitters, but the value
is derived from `ci_workflow_dag`; it is not an independent hand-authored
workflow declaration.

## Rejected Shapes

- `CIPipeline { emission_target }`: rejected because `CIPipeline` is
gate-centric, not emission-artifact-centric; coupling projection policy to the
gate list violates modeling faithfulness.
- `WorkflowEmission { workflow, target }`: rejected because it introduces an
implicit join and duplicate authority between workflow value and target choice.
- `extdeps.github.actions.Workflow { emission_target }`: rejected because it
puts gunbc CI policy into provider platform facts.

## Shared Ratchet Shape

The focused T-CI-WAD ratchet should assert:

- `EmissionTarget` and `project_github_actions` live under `dsl/gunbc/`.
- `dsl/extdeps/github/actions.dag` has no CI projection policy field.
- `gunbc_ci_yml_workflow` is a derived projection binding of
`project_github_actions(ci_workflow_dag, YamlStatic)`.
- The initial variants are `YamlStatic`, `BinaryShim`, `PythonShim`, and
`InlineGunbc`.
58 changes: 58 additions & 0 deletions docs/briefs/r3-t-wad-full-r3-slice-4-shape-agnostic-skeleton.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Worker brief skeleton — T-CI-WAD Slice 4 YamlStatic projection

**Status**: PREP — supersedes prior option-neutral skeleton. Updated
2026-05-12 to reflect `(c-refined)` ratification per PR #2749 §7.3-§7.5
and Director msg_4f7f536d.

**Program tag**: `t_ci_wad_full_r3_close`

**Scope claim**: Slice 4 implements the YamlStatic projection path over the
ratified gunbc-namespace substrate. The target workflow value is derived as:

```dag
data gunbc_ci_yml_workflow: Workflow =
project_github_actions(ci_workflow_dag, YamlStatic)
```

No workflow authority is added to `dsl/extdeps/`; `Workflow` remains the GitHub
Actions platform output carrier and `ci_workflow_dag` remains the gunbc CI
semantic authority.

## Authority

- PR #2749 §7.3-§7.5 and Director msg_4f7f536d: `(c-refined)` substrate shape.
- PR #2751 / Director msg_168005e1: GitHub Actions `Expression` substrate.
- Aggregator pattern: `t_ci_wad_full_r3_close` derives from constituent gate
statuses by lattice meet; this brief does not hand-set aggregator status.

## Inputs

- `dsl/gunbc/ci_emission.dag` once WI-2 lands.
- `CIWorkflowDag` authority for gunbc CI topology.
- `EmissionTarget` standalone gunbc sum type.
- `project_github_actions(CIWorkflowDag, EmissionTarget) -> Workflow`.
- `Expression::OpaqueString` for GitHub Actions expressions that remain opaque
until a non-YamlStatic consumer needs structural evaluation.

## Slice 4 Deliverables

- YamlStatic emitter consumes
`project_github_actions(ci_workflow_dag, YamlStatic)`.
- The emitted `.github/workflows/ci.yml` is derived from the projected
`Workflow` value.
- Checkable ratchet proves the emitted artifact is not hand-authoritative.
- Bootstrap regeneration, if `.dag` authorities change.

## Acceptance

- No `EmissionTarget` field in `dsl/extdeps/github/actions.dag`.
- No independent hand-authored `Workflow` copy for gunbc CI.
- `Expression::OpaqueString` is emitted verbatim to YAML.
- Focused T-CI-WAD tests pass.
- `regen_bootstrap --verify` passes after any intentional authority edit.

## Deferred Until WI-2 Lands

- Exact file list and line-level references.
- Concrete YamlStatic emitter entrypoint.
- BinaryShim/PythonShim runtime handoff details.
Loading