Skip to content

Instantly share code, notes, and snippets.

@shykes
shykes / source-path-filtering-demo.md
Created November 6, 2026 17:43
Source path filtering: full-repository test results

Source path filtering: current results

Path filtering is consistent, but current modules keep almost every check selected.

Tested on dagger/dagger at 7e9eaacc37: 845 checks, with collections expanded.

Change Selected Skipped
No changes 0 845
Root README 844 1
@shykes
shykes / implementation-handoff.md
Created October 21, 2026 23:41
Dagger implementation handoff: filtered workspace views without native batching

Artifacts filtering and removal of native batching

Implementation handoff. Design status: agreed direction, with the open decisions below. No implementation has started.

This document replaces the union proposal in the earlier brief. Defer Artifacts.withArtifacts().

Code reviewed: dagger/dagger, commit ce6dc9f9403b52067f5831149eab4871f857185d. Verify the current code before editing. References below point to the reviewed commit.

1. Intended behavior

@shykes
shykes / artifacts-filtered-view.md
Created October 20, 2026 04:24
Dagger design brief: Artifacts filtering and shared execution

Artifacts filtering: one workspace view

Status: Design brief. Not implemented. Public API changes require approval.

Goal

Each Artifacts value describes a selection and a consistent workspace view. Module code can share execution without engine batch functions.

An artifact identifies a workspace field and the collection keys used to reach it.

@shykes
shykes / 00-brief.md
Last active September 24, 2026 18:03
Dagger design: type dimensions for artifact selection

Brief: type dimensions

Add a dimension for each artifact type. Use it with collection dimensions to select an artifact.

Command annotations expose projected target types: @check becomes Check, @generate becomes Generator, and @agent becomes AgentMiddleware. dagger up selects plain Service artifacts; it does not require @up. Decide the need for annotation intent for each command. Module function signatures stay unchanged.

For example, these checks belong to the same Go module:

go/modules/test
@shykes
shykes / design.md
Last active September 23, 2026 23:38
Dagger design: artifact list identity, dimensions, and links

Artifact lists: dimensions and links

Problem

A dimension identifies an item in a collection. It does not identify every operation on that item.

For example, --go-module=./api can select both a test and a generator. A container such as backend/container may have no dimensions at all.

Making every artifact identifiable through dimensions would require synthetic module, operation, and path dimensions. This would move paths into flags, with more names and rules to learn.

@shykes
shykes / module-manifest-v2-remaining-issues.md
Last active September 2, 2026 19:54
Dagger Module Manifest v2: remaining design issues

Module Manifest v2: Review Status

Review baseline: future/module-manifest-v2.md at fa99a6039.

No open item from the previous engine-side review remains.

Previous issue Resolution
Entrypoint construction Each driver has an explicit construction rule.
Call routing Constructors use the owning type and an empty function name. Object functions use their original names.
@shykes
shykes / module-max.md
Created August 24, 2026 23:09
1.0 UX. Variation 'module-max'
@shykes
shykes / pr-13608-golang-vcs-briefing.md
Created July 30, 2026 10:47
Why PR #13608 golang:test-all fails, why it fails now, and what the failure teaches us about recursive Dagger workspaces

When a workspace marker becomes a broken Git repository

Root-cause briefing for golang:test-all on dagger/dagger#13608

This briefing answers two related questions:

  1. Why is the check failing?
  2. Why did it start failing now?

The short answer is:

@shykes
shykes / versions-toml-proposal.md
Created May 30, 2026 05:39
Proposal: versions.toml as source of truth for intended versions

Versions in versions.toml

Problem

To build and release Dagger, we compute and inject a version string. We do this in a way that is slow, breaks separation of concerns, and increases complexity and bugs.

Specifically, the current implementation:

  • Fetches all Git tags on each build, making it slower and vulnerable to GitHub outages.
  • Walks Git tags to compute the version, which is slow and gets worse as history grows.
@shykes
shykes / SKILL.md
Created May 30, 2026 05:37
Bullet style — a writing style guide for technical bulleted critique
Error in user YAML: (<unknown>): mapping values are not allowed in this context at line 2 column 279
---
name: bullet-style
description: Write tight, parallel-structured bullets for technical problem statements, RFC critique sections, GitHub discussion intros, and design doc analysis. Use when drafting or editing prose where bullets describe how a system behaves and why it's problematic. Triggers on: problem statement, RFC, design doc critique, discussion intro, bulleted analysis, "what's wrong with X."
---

Bullet style

A distilled style guide for technical bulleted critique — problem statements, RFC sections, GitHub discussion intros, anything where a bulleted list describes how a system works and why it's bad.

Markers in the rules below: ✅ explicitly taught through edits; ⚠️ observed in the user's drafts and confirmed when surfaced.