Skip to content

fix(construct): sync §3.3 name refinement to "Security by Design"#6

Merged
UnbreakableMJ merged 1 commit into
mainfrom
sync-fix-p3-name-v1.25
Jun 19, 2026
Merged

fix(construct): sync §3.3 name refinement to "Security by Design"#6
UnbreakableMJ merged 1 commit into
mainfrom
sync-fix-p3-name-v1.25

Conversation

@UnbreakableMJ

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • grep "§3.3" spacecraft-standard/SKILL.md → shows Security by Design
  • No occurrence of Secure / Security By Design remains

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@UnbreakableMJ
UnbreakableMJ merged commit b8d3f02 into main Jun 19, 2026
1 check passed
@UnbreakableMJ
UnbreakableMJ deleted the sync-fix-p3-name-v1.25 branch June 19, 2026 22:10
UnbreakableMJ added a commit that referenced this pull request Jun 21, 2026
…mmitted drift)

The committed .zip/.skill shipped v1.24 (§3.3 "Hardened Security") while the
committed SKILL.md source was already v1.25 (§3.3 "Security by Design") — commit
b8d3f02 (#6) updated the source but not the bundle, so consumers installing from
the zip got stale text. Rebuild both bundles from the current source; no content
authored here. Full drift sweep now clean across all root and Grok skills.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
UnbreakableMJ added a commit that referenced this pull request Jul 24, 2026
Fourth in the sequence after 6a01665 (missing-pkg), 0c8a6ff (cli-preference),
and a6aaa59 (cli-shell). Unlike those three, this is a design/authoring skill
rather than one the agent executes -- but grounding it against the real
environment surfaced a correctness bug in shipped reference code.

Flagship: the canonical agent-detection code failed to detect the agent
reading it. agent-env-detection.md's is_truthy matched only "1"/"true", but
real harnesses export descriptive strings -- this session runs under
AI_AGENT=claude-code_2-1-218_agent. So is_truthy("AI_AGENT") returned false and
the CLI never entered the agent profile; it only lucked into JSON via the
non-TTY fallback, silently skipping quiet mode, pagination, and confirmation
friction-reduction. The AI_AGENT=1 value was echoed as fact in the SKILL.md §4
table, the §2 sub-headers, and audit item #6, so a CLI could pass an audit run
with AI_AGENT=1 while failing under production Claude Code.

Fix: detection is presence-based. Two predicates replace is_truthy --
is_present (set and non-empty, any value) for the agent-presence vars
(AI_AGENT, AGENT, CLAUDECODE, CURSOR_AGENT, GEMINI_CLI, TRAE_AI_SHELL_ID), and
is_truthy_value (set and not ""/0/false) for CI, which also fixes CI=1 being
missed by the old == "true" check. Both predicates were compiled and unit-
tested, including the AI_AGENT-string case. §4 table, §2 headers, worked
example, and a new §7 anti-pattern all updated and grounded in the observed
values.

Four smaller local-host retargets:

- Audit by running, not reading. §9 gains a behavioral lead-in and item #6 is
  reworded: set the host's actual AI_AGENT value and observe that describe
  reports profile=agent. A source read misses exactly the bug above.
- No-clobber scaffolding. §2 gains a read-before-write rule: context files
  (AGENTS.md/CLAUDE.md/...) are merged and proposed, never overwritten -- the
  consent-before-durable principle from missing-pkg, applied to file creation.
- Runnable, synced hints. tips-thinking's MISSING_DEPENDENCY formula moves from
  the superseded nix-shell -p to missing-pkg's nix run nixpkgs#<pkg>, and the
  PERMISSION_DENIED example drops sudo chown (an agent has no TTY for the
  prompt) for a non-privileged XDG path, with the principle stated: a hint an
  agent cannot run is a bad hint.
- Sibling cross-refs. §11 notes all three siblings are now local-host aware and
  routes to them for provisioning / shell / tool choice.

New reference local-host-authoring.md and a new SKILL.md §12 tie it together.
Description unchanged at 985 (cap 1000). Bundle rebuilt at 11 files.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant