Repository navigation
Closed
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Description
Parent
What to build
Deepen capture so the same local Dockerfile build runs from a relocatable, fixed input set. Service variables become build defaults with separate private transport material. This changes real source inclusion and build output through the existing shared interface; it does not introduce a public upload protocol or a generic artifact service.
Acceptance criteria
- Capture uncommitted and untracked source without requiring Git, preserving byte contents, modes, recipe/control files, and named context identity. Later edits cannot change the capture. Preserve current unstable-capture refusal and avoid treating excluded-file churn as changes to included source when those files are no longer captured.
- Apply effective Docker exclusions before source is staged for transfer, including Dockerfile-specific precedence, negations, and required control-file semantics. Keep contexts separate when their recipe/ignore rules differ. Preserve external/inline Dockerfiles and local additional contexts after relocation. Use upstream-compatible ignore matching, not Git ignore rules or a new Ployz format.
- Keep captured paths relocatable and symlinks from reading uncaptured host files. Private extraction/staging must reject paths or link resolution that escape the staging area and must not accept special files as ordinary source. Excluded bytes and private values must not appear in the reusable source payload. Network framing validation remains part of the remote execution ticket.
- Resolve each captured secret provider once and reuse its value for this command's build and runtime. Set effective build-variable precedence to explicit CLI build override, explicit Compose build argument, then resolved Service environment, including resolved secrets. Build-only overrides leave runtime values unchanged. Preserve valueless-argument resolution and literal dollar values without reading a later shell environment.
- Make effective variables available to declared Dockerfile arguments and retain explicit BuildKit secret mounts and SSH key-file support. Own private values alongside the capture but outside reusable source/result metadata, with private permissions and cleanup. Do not print them in Ployz-generated diagnostics or imply that ordinary Dockerfile arguments have secret-mount confidentiality.
- Preserve validated commit-pinned Git and digest-pinned image contexts using upstream fetching and explicitly supplied credentials. Refuse mutable contexts and SSH agent sockets. Never silently reinterpret a client filesystem path or use the execution host's ambient project credentials. Give a named early refusal for host-specific/cache/exporter settings whose meaning cannot be preserved.
- Use rung-1 checks only for pure validation/precedence decisions and rung-2 checks through capture/execute for changed source, relocation, ignored files and negations, external/inline recipes, provider-once behavior, private-material separation, and rejected path/link escapes. Use real Docker at rung 4 for argument/secret behavior where a recording adapter cannot prove consumption. Update the existing capture and variable-resolution evidence at the lowest honest rung.
Blocked by
Metadata
Metadata
Assignees
Labels
ready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Activity