feat(deno): ssg-collection workspace finalisation — root deno.json + 0 package.json (STEP 7 closeout) - #26
Merged
hyperpolymath merged 1 commit intoMay 31, 2026
Conversation
…apters + 4 redundant package.json removals (STEP 7 closeout) Completes the STEP 7 workspace finalisation acceptance criteria for ssg-collection from hyperpolymath/standards#275: 1. **Root `deno.json` with `workspace` field** — flat workspace member list of all 32 sub-projects with their own deno.json (post the prior commit's 8 adapter migrations + this commit's 2 hackenbush adapter additions). Top-level tasks delegate to per-member tasks via `deno task --recursive`. This was the missing acceptance gate (criterion 1 of issue #275 body). 2. **2 hackenbush adapter migrations** — `implementations/hackenbush/` and `ssg-fixes/hackenbush-ssg/` adapters had deno.json at PARENT level only; their adapter leaf only had package.json. Now each adapter dir gets its own canonical Class B deno.json matching the prior commit's 8-adapter pattern. The parent deno.json was the SSG engine itself — adapters are a separate sub-package surface. 3. **4 redundant paired package.json removals** — `implementations/eclipse/package.json` (paired deno.json supersedes), `implementations/odd/package.json` (idem), `ssg-fixes/eclipse-ssg/package.json` (idem), `stubs/rescribe/adapters/package.json` (idem). Each had only the `rescript@^12.0.0` devDep + `rescript`-script entries; their paired deno.json takes over the build. The "out of scope" caveat from the prior commit body is now retired — verified no internal repo reference imports these by name. After this commit, ssg-collection has zero `package.json` files — workspace finalisation complete. Refs hyperpolymath/standards#275 (this completes the STEP 7 ssg-collection scope) Refs hyperpolymath/standards#253 (umbrella npm → Deno migration) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
enabled auto-merge (squash)
May 31, 2026 07:15
|
hyperpolymath
deleted the
campaign-253/workspace-finalisation-ssg-collection
branch
May 31, 2026 07:30
🔍 Hypatia Security ScanFindings: 245 issues detected
View findings[
{
"reason": "Issue in codeql.yml",
"type": "missing_workflow",
"file": "codeql.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in scorecard.yml",
"type": "missing_workflow",
"file": "scorecard.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"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 governance.yml",
"type": "missing_timeout_minutes",
"file": "governance.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in hypatia-scan.yml",
"type": "missing_timeout_minutes",
"file": "hypatia-scan.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in instant-sync.yml",
"type": "missing_timeout_minutes",
"file": "instant-sync.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in mirror.yml",
"type": "missing_timeout_minutes",
"file": "mirror.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Completes the STEP 7 workspace finalisation acceptance criteria for
ssg-collectionfrom hyperpolymath/standards#275. After the prior #25 (which migrated 8 unpaired SSG adapter manifests Class B), this PR ships the remaining workspace-root deliverable and cleans up the residual 6 pairedpackage.jsonfiles that #25 explicitly carved out as "per-repo follow-up".After this PR merges, ssg-collection has zero
package.jsonfiles — workspace finalisation complete.Changes
Root
deno.jsonwithworkspacefield (STEP 7 acceptance criterion 1)Adds
deno.jsonat repo root with flat workspace member list of all 32 sub-projects. Top-level tasks delegate viadeno task --recursive.implementations/./implementations/eclipsessg-fixes/./ssg-fixes/baremetal-ssgstubs/*/adapters/./stubs/milk/adaptersvariants/./variants/baremetal,./variants/wagasm/adapters./implementations/hackenbush/adapters2 hackenbush adapter migrations (Class B canonical)
implementations/hackenbush/andssg-fixes/hackenbush-ssg/haddeno.jsonat the parent SSG-engine level only; theiradapters/leaf still hadpackage.json(devDeprescript@^12.0.0+ barerescriptscripts) without a paireddeno.json. #25 explicitly excluded these as "deno.json at parent" cases; this PR closes that gap by adding canonical Class Bdeno.jsonat each adapter leaf matching the milk/parallax/prodigy/terrapin pattern (deno run -A --node-modules-dir=auto npm:rescript@^12.0.0).4 redundant paired
package.jsonremovalsimplementations/eclipse,implementations/odd,ssg-fixes/eclipse-ssg,stubs/rescribe/adapterseach hadpackage.json(devDeprescript@^12.0.0only, npm scripts) alongside a paireddeno.jsonthat supersedes the build. #25 carved these out citing "could interact with existing CI/build flows that importmain" — verified via internalgrep -rthat no internal repo reference imports any of these by name. Safe to remove.Test plan
package-lock.jsonin repo →:nodejs_detectedquiet)deno task build-alltraverses workspace members:nodejs_detected(zeropackage.jsonin repo)Closes hyperpolymath/standards#275 (ssg-collection portion — workspace finalisation acceptance criterion 1).
Refs hyperpolymath/standards#253 (umbrella npm → Deno campaign).
Refs #25 (predecessor — 8-adapter Class B migration).
🤖 Generated with Claude Code