8000 T18 — Render an entry's or a box's expanded spec · Issue #2906 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T18 — Render an entry's or a box's expanded spec #2906

Open

Description

@mitodrummer

Task

slice size difficulty model who estimated lines
Inspect specs and types L routine standard an agent 820 (340 code, 480 tests)

min box spec shows an entry's expanded spec before start and a box's stored spec after, with the source of every value.

Covers:

  • BCLI-021
  • BCLI-022
  • BCLI-023

Layers:

  • client:
    • crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
    • crates/minimal/src/cmd/mod.rs: dispatches the verb
    • crates/minimal/src/cmd/box_spec.rs: the entry and box forms, -o toml|json|yaml, the layer and type beside each value, and the stored hooks
    • crates/minimal/src/cmd/session.rs: adds the one session hooks <name> alias row: it resolves the name as a box and renders min box spec <box-id>, with the hint "min session hooks is now min box spec ."
    • crates/minimal/src/tests.rs: the in-process minimald test harness gains this layer's tests
    • cargo nextest run -p minimal box_spec_renders_formats_secrets_as_refs
    • cargo nextest run -p minimal box_spec_path_form_renders_bep_rows
    • cargo nextest run -p minimal box_spec_entry_network_flags_match_start
    • cargo nextest run -p minimal box_spec_box_renders_stored_copy
    • cargo nextest run -p minimal box_spec_argument_directory_then_entry_then_box
    • cargo nextest run -p minimal box_spec_box_lists_hooks
    • cargo nextest run -p minimal box_spec_renders_unenforced_sections
    • cargo nextest run -p minimal session_hooks_alias_renders_box_spec_hooks

Waits on:

Plan block
### T18 — Render an entry's or a box's expanded spec
  slice: S5
  kind: task
  covers: BCLI-021, BCLI-022, BCLI-023
  size: L
  est: 340 code, 480 tests
  executor: agent
  difficulty: routine
  model: standard
  diagnostics: `min box spec <entry>` prints each value with the layer and type it came from, and a secret as its reference only, pinned by box_spec_renders_formats_secrets_as_refs
  observability: the command's existing tracing span records the verb, the box id it resolved and the outcome
  layers:
    - client:
      - crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
      - crates/minimal/src/cmd/mod.rs: dispatches the verb
      - crates/minimal/src/cmd/box_spec.rs: the entry and box forms, `-o toml|json|yaml`, the layer and type beside each value, and the stored hooks
      - crates/minimal/src/cmd/session.rs: adds the one `session hooks <name>` alias row: it resolves the name as a box and renders `min box spec <box-id>`, with the hint "min session hooks is now min box spec <box-id>."
      - crates/minimal/src/tests.rs: the in-process minimald test harness gains this layer's tests
      test: cargo nextest run -p minimal box_spec_renders_formats_secrets_as_refs
      test: cargo nextest run -p minimal box_spec_path_form_renders_bep_rows
      test: cargo nextest run -p minimal box_spec_entry_network_flags_match_start
      test: cargo nextest run -p minimal box_spec_box_renders_stored_copy
      test: cargo nextest run -p minimal box_spec_argument_directory_then_entry_then_box
      test: cargo nextest run -p minimal box_spec_box_lists_hooks
      test: cargo nextest run -p minimal box_spec_renders_unenforced_sections
      test: cargo nextest run -p minimal session_hooks_alias_renders_box_spec_hooks
  produces: none
  consumes:
    - crates/minimal/src/cmd/boxes/address.rs
  proof: `min box spec` shows an entry's expanded spec before start and a box's stored spec after, with the source of every value.
  depends on:
    - blocked by #2895
    - blocked by #2877
    - blocked by #2878

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:taskA task the plan skill rendered; the body carries ## Taskmodel:standardA standard model: work that needs care, or routine work that is largesize:L500 to 900 net lines; one PR, and the ceiling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0