Skip to content

fix(affine): migrate record literals to #{ } (affinescript#218)#28

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/affine-record-syntax-218
May 18, 2026
Merged

fix(affine): migrate record literals to #{ } (affinescript#218)#28
hyperpolymath merged 1 commit into
mainfrom
fix/affine-record-syntax-218

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Part of the affinescript#218 estate codemod sweep coverage closure (caught by the coverage scan — this repo had no sweep PR).

tests/affine/extension_lifecycle_test.affine used the old bare { } record-literal syntax in 6 expression-position sites. AffineScript #218 makes bare { always a block; record literals now require #{ }. struct State { … } is a type declaration → unchanged.

Migrated via careful per-site read (the regex codemod is known-unsound); repo CI (affinescript build) is the oracle.

Refs hyperpolymath/affinescript#218

🤖 Generated with Claude Code

extension_lifecycle_test.affine used the old bare-{ } record-literal
syntax in expression position (6 sites in mk_/initialise/attach_profile/
start_running/record_activity). AffineScript #218 makes bare { always a
block; record/struct literals now require the #{ } sigil. struct State
is a type declaration and is unchanged.

Refs hyperpolymath/affinescript#218

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath hyperpolymath enabled auto-merge (squash) May 18, 2026 20:18
@hyperpolymath hyperpolymath merged commit 0f76fbb into main May 18, 2026
1 of 2 checks passed
@hyperpolymath hyperpolymath deleted the fix/affine-record-syntax-218 branch May 18, 2026 20:18
@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 36 issues detected

Severity Count
🔴 Critical 6
🟠 High 20
🟡 Medium 10

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Issue in quality.yml",
    "type": "missing_workflow",
    "file": "quality.yml",
    "action": "create",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in security-policy.yml",
    "type": "missing_workflow",
    "file": "security-policy.yml",
    "action": "create",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Workflow executes remote script directly (curl/wget piped to shell). Download, verify checksum/signature, then execute.",
    "type": "download_then_run",
    "file": "ci.yml",
    "action": "verify_download_integrity",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/double-track-browser/double-track-browser/tests/unit/types_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/double-track-browser/double-track-browser/tests/aspect/security_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/double-track-browser/double-track-browser/tests/e2e/extension_lifecycle_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/double-track-browser/double-track-browser/tests/affine/driver.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/double-track-browser/double-track-browser/tests/property/extension_properties_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/double-track-browser/double-track-browser/scripts/build.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

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