Skip to content

docs: update SPEC.md for Go rewrite + DRY cleanup #18

Description

@robbycochran

Problems

SPEC.md gaps

  • harness preflight missing --strict flag in CLI signature
  • harness preflight available and harness preflight names subcommands undocumented
  • harness providers description incomplete: missing providers_v2 enablement, custom profile import, hardcoded provider list, OPENSHELL_MODEL env var, --force behavior
  • harness deploy bracket notation [--local|--remote] implies both are optional; code requires one
  • Testing section only documents bash tests; Go unit tests (28+) not mentioned
  • Environment variables section missing: OPENSHELL_CLI, OPENSHELL_MODEL, HARNESS_DIR

Code DRY

  • internal/preflight/check.go: config path resolution (PROVIDERS_TOML/CONFIG_TOML env var + fallback) copy-pasted 3 times across RunCheck, RunAvailable, RunNames

Fix: Extract loadEnabledProviders(harnessDir) ([]Provider, error) helper.

Severity: Medium (spec), Low (DRY)

Found by: 5-dimension code audit (spec accuracy + code quality review)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions