Skip to content

bootc composefs: implement bootc edit #11

Closed as not planned
Closed as not planned

Description

@cgwalters-bot

Composefs limitation from the stabilization draft (cgwalters-forge/bootc#15): 'bootc edit' bails on composefs. Map the ostree implementation onto composefs switch/rollback.

Activity

  1. converted this from a draft issue on Sep 26, 2026
  2. moved this to In Review in Workstreamon Sep 30, 2026
  3. cgwalters-bot commented on Oct 3, 2026

    @cgwalters-bot
    CollaboratorAuthor

    Per cgwalters' answer on tracker#238 (D2): the tmt test-number conflict will go away rather than be worked around by renumbering. The prep PR cgwalters-forge/bootc#41 drops test numbers (tests and plans are named by slug) and generates one tmt file per test and plan. Once it merges, this rebases onto it, dropping its # number: header, with no renumbering.

    Generated-by: https://github.com/cgwalters/#llms

  4. cgwalters-bot commented on Oct 17, 2026

    @cgwalters-bot
    CollaboratorAuthor

    Board scheduler: this issue has no job plan, and its body is too short to write one from. It needs design: say what to change and how to check it, and the next pass asks a triage run to plan it.

  5. added
    needs-humanThe poll stopped here; a person decides what is next
    and removed
    needs-humanThe poll stopped here; a person decides what is next
    on Oct 17, 2026
  6. cgwalters-bot commented on Oct 17, 2026

    @cgwalters-bot
    CollaboratorAuthor
    {
      "schema": "agent-board/job-plan/v1",
      "repo": "cgwalters-forge/tracker",
      "item": 11,
      "kind": "triage",
      "runner": "hosted",
      "pool": "openai",
      "brief": "Triage for epic #160 (Composefs Stable). This issue is a short stub from early October. Against current bootc-dev/bootc `main`, and its open and merged PRs and issues:\n\n1. Is it still needed, already done upstream (cite the PR), or being done by someone else (cite it)?\n2. If still needed: a concrete implement-sized slice for the midstream fork `cgwalters-forge/bootc` (staged; the operator promotes upstream), with the files it touches, what proves it, and whether it should stack on another #160 slice.\n\nPost one comment, with at most 25 links. If it is done or overtaken, close this issue.\n\n## Issue\n\n# bootc composefs: implement bootc edit\n\nComposefs limitation from the stabilization draft (cgwalters-forge/bootc#15): 'bootc edit' bails on composefs. Map the ostree implementation onto composefs switch/rollback.\n\n\n**Note on secret-shaped strings.** Never write a literal secret-shaped string (`sk-ant-…`, `sk-…`, `ghp_…`, `github_pat_…`, AWS keys, private-key blocks) into code, tests, fixtures or docs. Where a test needs a key-shaped value, build it at run time from parts, or use an obviously fake value such as `test-key-not-secret`. Grep your diff for these patterns before you hand back.\n"
    }
    

    Generated-by: https://github.com/cgwalters/#llms

  7. cgwalters-bot commented on Oct 17, 2026

    @cgwalters-bot
    CollaboratorAuthor

    Dispatched the plan in #11 (comment): run. Run independently: the issue names no path.

  8. cgwalters-bot commented on Oct 17, 2026

    @cgwalters-bot
    CollaboratorAuthor

    Valid on current main, but implementation is already upstream in open bootc-dev/bootc#2501; this stub is overtaken, not completed on main. cgwalters-bot already staged it in fork PR #20 and promoted it. Close this duplicate implementation item and track #2501 for #160; do not start another fork slice.

    At main 3c5d235a, the composefs branch of edit() still unconditionally errors; the current limitations agree. This is reproducible by code inspection on a composefs-booted host with bootc edit --filename host.yaml; I did not run a guest.

    The existing patch is the implement-sized slice: share edited-spec parsing/validation in crates/lib/src/cli.rs, extract the reusable switch target helper in crates/lib/src/bootc_composefs/switch.rs, dispatch image changes to switch and boot-order changes to rollback. It includes a validation unit test and tmt/tests/booted/test-edit.nu, registered in tmt/tests/tests.fmf and tmt/plans/integration.fmf as plan-59-edit (the PR body’s plan-50 name is stale). Its prep commit is already in the PR; no additional #160 slice is needed underneath.

    Proof: the test covers no-op, rejection of simultaneous image+rollback changes, staging/booting a changed image, and rollback across reboots. Upstream CI is green, including composefs sealed UKI matrix jobs, superseding the body’s earlier unverified-UKI caveat. Remaining work is upstream review/merge and resolving the DCO check currently marked action-required, not new implementation. The patch deliberately retains switch’s identical-fs-verity-digest rejection; supporting edits back to an already deployed image is a separate policy question.

    Closure requested: this run can publish comments only, so I cannot apply the issue’s closed state.

    Generated by dispatch · ◷

  9. locked as resolved and limited conversation to collaborators on Oct 18, 2026
  10. cgwalters-bot commented on Oct 18, 2026

    @cgwalters-bot
    CollaboratorAuthor

    Done upstream, not dropped. The 17 Oct triage on this issue found that bootc edit for composefs is already written: it was staged as cgwalters-forge/bootc#20 and promoted as bootc-dev/bootc#2501, which is open with green CI and waiting for upstream review. No other fork slice is needed. Epic #160 tracks #2501 on the Composefs Stable board.

  11. cgwalters-bot commented on Oct 18, 2026

    @cgwalters-bot
    CollaboratorAuthor

    ✅ dispatch ended well. Result: #11 (comment)

    (Run status from 2026-10-17T16:35:51Z, re-posted by the bot without the agent's own words. The original job-token comment was removed so this issue counts as collaborator-only input, tracker#738.)

    Generated-by: https://github.com/cgwalters/#llms

  12. moved this from In Review to Done in Workstreamon Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions