Skip to content

chore: purge nix per 2026-06-01 owner directive (guix-only)#18

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/purge-nix-policy-2026-06-01
Jun 2, 2026
Merged

chore: purge nix per 2026-06-01 owner directive (guix-only)#18
hyperpolymath merged 1 commit into
mainfrom
chore/purge-nix-policy-2026-06-01

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Owner directive 2026-06-01: "nix is now entirely deprecated and we use guix for everything." This purges nix from the top-level estate landing repo (hyperpolymath/hyperpolymath).

Deleted

  • flake.nix (template flake at root)

Edited

  • README.adoc — "Nix/Guix" -> "Guix" in Systems summary
  • CONTRIBUTING.md — "Using Nix" -> "Using Guix"; tree entry flake.nix -> guix.scm
  • QUICKSTART-DEV.adoc — drop "Option B: Nix (fallback)", reflow A/B; drop flake.nix tree entry; Option A uses guix shell -m guix.scm
  • QUICKSTART-MAINTAINER.adoc — drop "=== Nix" packaging section
  • setup.sh — drop nix branch in PKG_MGR detection and nix-env -iA nixpkgs.just install case
  • .gitattributes — drop *.nix and flake.lock entries
  • .editorconfig — drop [*.nix] block

Sweep result (post-edit)

Top-level estate-landing files: zero remaining nix references except a comment in .github/workflows/governance.yml naming the historically-removed guix-nix-policy.yml workflow — kept as accurate history.

Unresolved / out of scope

  • zotpress/ subtree contains 4 nix references (.gitattributes, .claude/CLAUDE.md, PRIORITY.adoc, .github/workflows/governance.yml historical comment). Vendored tree — needs a separate scoped pass.
  • .guix-channel is absent at top level; needs owner input on channel URL. Filing as a separate issue.

Test plan

  • Estate governance / CodeQL / scorecard checks pass (no nix-policy enforcement should fail)
  • setup.sh continues to detect guix/dnf/apt/etc. correctly
  • Documentation tree references match the actual repo contents (no dangling flake.nix)

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Owner directive 2026-06-01: "nix is now entirely deprecated and we use
guix for everything." This commit removes nix from the top-level estate
landing repo.

Deleted:
- flake.nix (template flake at root)

Edited:
- README.adoc — "Nix/Guix" -> "Guix" in Systems summary
- CONTRIBUTING.md — "Using Nix" -> "Using Guix"; tree entry flake.nix -> guix.scm
- QUICKSTART-DEV.adoc — drop "Option B: Nix (fallback)", reflow A/B; drop flake.nix tree entry; Option A uses `guix shell -m guix.scm`
- QUICKSTART-MAINTAINER.adoc — drop "=== Nix" packaging section
- setup.sh — drop nix branch in PKG_MGR detection and nix-env install case
- .gitattributes — drop *.nix and flake.lock entries
- .editorconfig — drop [*.nix] block

Unresolved in this PR:
- zotpress/ subdirectory (.gitattributes, .claude/CLAUDE.md, PRIORITY.adoc,
  workflows comment) — vendored tree; needs separate scope.
- .github/workflows/governance.yml historical comment names removed
  `guix-nix-policy.yml`; leaving as accurate history.

Follow-up: `.guix-channel` is absent at top level; needs owner input on
channel URL before adding. To be filed as a separate issue.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

🔍 Hypatia Security Scan

Findings: 65 issues detected

Severity Count
🔴 Critical 1
🟠 High 18
🟡 Medium 46

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in boj-build.yml",
    "type": "missing_timeout_minutes",
    "file": "boj-build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in casket-pages.yml",
    "type": "missing_timeout_minutes",
    "file": "casket-pages.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in casket-pages.yml",
    "type": "missing_timeout_minutes",
    "file": "casket-pages.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "missing_timeout_minutes",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath merged commit aaca7cd into main Jun 2, 2026
21 of 22 checks passed
@hyperpolymath hyperpolymath deleted the chore/purge-nix-policy-2026-06-01 branch June 2, 2026 09:22
hyperpolymath added a commit that referenced this pull request Jun 2, 2026
## Summary

- Add `.hypatia-ignore` with 6 per-file exemptions for
`zotpress/**/*.res` under the `cicd_rules/banned_language_file` rule.
- Unblocks PR #18 (`chore: purge nix per 2026-06-01 owner directive`)
which is currently red on `governance / Language / package anti-pattern
policy` for these 6 grandfathered files that the PR's diff does not
touch.

## Rationale

`zotpress/` is a WordPress plugin (`composer.json` `type:
wordpress-plugin`) that runs inside the WordPress host runtime — not
estate-authored AffineScript-bound application code. The 6 in-tree
`.res` files are auto-translated TypeScript placeholders (each carrying
`/* Auto-translated placeholder from TypeScript. */`) awaiting the
estate-wide ReScript→AffineScript migration umbrella
(`hyperpolymath/standards#252`).

The per-file `.hypatia-ignore` mechanism is the workflow's documented
escape
(`hyperpolymath/standards/.github/workflows/governance-reusable.yml`
lines 298-300, `grep -qxF`).

## Files exempted

```
cicd_rules/banned_language_file:zotpress/scripts/build-css.res
cicd_rules/banned_language_file:zotpress/scripts/build-js.res
cicd_rules/banned_language_file:zotpress/scripts/build.res
cicd_rules/banned_language_file:zotpress/src/js/zotpress.res
cicd_rules/banned_language_file:zotpress/src/rescript/Utils.res
cicd_rules/banned_language_file:zotpress/src/rescript/Zotpress.res
```

## Sibling PR

`hyperpolymath/standards` branch `docs/zotpress-rescript-carveout` adds
`zotpress/**` to the upstream-fork/WordPress-plugin row of the ReScript
Exemptions table in `.claude/CLAUDE.md` (and parallel TS / JS / npm
tables) so the estate-wide manifest stays in sync with this per-repo
escape.

## Test plan

- [x] Locally replicated workflow logic (`is_exempt()` from
governance-reusable.yml:292-305) — all 6 `.res` files report EXEMPT.
- [ ] CI `governance / Language / package anti-pattern policy` job
passes on this PR.
- [ ] PR #18 rerun (or next-push) clears the same check.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Co-authored-by: Claude Opus 4.7 (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