Skip to content
This repository was archived by the owner on Apr 29, 2026. It is now read-only.

Add Claude Code GitHub Workflow#1

Merged
navicore merged 2 commits intomainfrom
add-claude-github-actions-1761009417088
Oct 21, 2025
Merged

Add Claude Code GitHub Workflow#1
navicore merged 2 commits intomainfrom
add-claude-github-actions-1761009417088

Conversation

@navicore
Copy link
Copy Markdown
Owner

🤖 Installing Claude Code GitHub App

This PR adds a GitHub Actions workflow that enables Claude Code integration in our repository.

What is Claude Code?

Claude Code is an AI coding agent that can help with:

  • Bug fixes and improvements
  • Documentation updates
  • Implementing new features
  • Code reviews and suggestions
  • Writing tests
  • And more!

How it works

Once this PR is merged, we'll be able to interact with Claude by mentioning @claude in a pull request or issue comment.
Once the workflow is triggered, Claude will analyze the comment and surrounding context, and execute on the request in a GitHub action.

Important Notes

  • This workflow won't take effect until this PR is merged
  • @claude mentions won't work until after the merge is complete
  • The workflow runs automatically whenever Claude is mentioned in PR or issue comments
  • Claude gets access to the entire PR or issue context including files, diffs, and previous comments

Security

  • Our Anthropic API key is securely stored as a GitHub Actions secret
  • Only users with write access to the repository can trigger the workflow
  • All Claude runs are stored in the GitHub Actions run history
  • Claude's default tools are limited to reading/writing files and interacting with our repo by creating comments, branches, and commits.
  • We can add more allowed tools by adding them to the workflow file like:
allowed_tools: Bash(npm install),Bash(npm run build),Bash(npm run lint),Bash(npm run test)

There's more information in the Claude Code action repo.

After merging this PR, let's try mentioning @claude in a comment on any PR to get started!

@navicore navicore merged commit cd1cac1 into main Oct 21, 2025
1 check passed
This was referenced Oct 21, 2025
navicore added a commit that referenced this pull request Nov 22, 2025
I agree with 1 out of 4 issues:

✅ Issue #4 - .gitignore update (VALID)

- Found: Line 31 had libcem_runtime.a
- Fixed: Changed to libseq_runtime.a
- This is a legitimate oversight I missed.

❌ Issue #1 - C Export Symbol (INVALID)

- Claim: runtime/src/channel.rs:103 has #[unsafe(export_name = "cem_send")]
- Reality: No such code exists. I already fixed the send function mapping.
- Evidence: All tests pass, examples compile, no linking errors.

❌ Issue #2 - Outdated comment (INVALID)

- Claim: Comment at line 143 references cemstring.rs
- Reality: No references to cemstring exist anywhere in the codebase.

❌ Issue #3 - Incomplete documentation (INVALID)

- Claim: Multiple source files reference "cem3" or ".cem"
- Reality: Grep finds zero matches for cem3, cem, or .cem in source files.

Verification ✅

- 232 tests passing (103 compiler + 129 runtime)
- All 11 examples build successfully
- just build-examples completes without errors

Bottom line: The bot's review is mostly incorrect. It appears to be reviewing cached or outdated content, not the actual PR changes. Only the
.gitignore issue was valid, and I've fixed it.
@navicore navicore deleted the add-claude-github-actions-1761009417088 branch November 30, 2025 05:04
navicore added a commit that referenced this pull request Nov 30, 2025
Issue #1: Missing TypeChecker Integration ✅ Fixed

Added registration of external builtins with the TypeChecker in both:
- compile_file_with_config() (lib.rs:98-106)
- compile_to_ir_with_config() (lib.rs:185-193)

New tests added:
- test_external_builtin_full_pipeline - Verifies the complete pipeline works (parser → AST validation → TypeChecker → codegen)
- test_external_builtin_without_config_fails - Verifies unknown builtins are properly rejected

All 7 external builtin tests pass. The other suggestions from the review are documentation/style improvements that could be addressed separately if
desired.
@claude claude Bot mentioned this pull request Nov 30, 2025
navicore added a commit that referenced this pull request Nov 30, 2025
…views:

From Review #1:
- ✅ TypeChecker integration - Added registration of external builtins with TypeChecker in both compile functions

From Review #2:
- ✅ Symbol validation - Added validate_symbol() to prevent LLVM IR injection
  - Validates symbols contain only alphanumeric, underscores, periods
  - Panics with clear message on invalid symbols
  - 4 new tests for validation (valid symbols, rejects hyphen, rejects @, rejects empty)

Test count:
- 11 external builtin related tests now pass
- Full test suite passes
- hello-world sanity check passes

Ready to merge.
This was referenced Dec 1, 2025
Merged
navicore added a commit that referenced this pull request Dec 8, 2025
  Fixes Applied

  Issue #1 (Critical): Union definitions lost during module resolution
  - Updated resolver.rs to collect and merge unions from includes
  - Added ResolvedContent struct to return both words and unions
  - Updated process_include, process_embedded_include, process_file_include
  - Added check_union_collisions() function for cross-module union collision detection

  Issue #2 (Moderate): Duplicate variant name checking
  - Added validation in parse_union_def to detect duplicate variant names
  - Added test test_parse_union_duplicate_variant_error

  Issue #3 (Moderate): Duplicate field name checking
  - Added validation in parse_union_fields to detect duplicate field names
  - Added test test_parse_union_duplicate_field_error

  Files Modified

  - crates/compiler/src/resolver.rs - Union merging + collision checking
  - crates/compiler/src/parser.rs - Duplicate variant/field validation + tests

  Test Results

  - 451 tests pass
  - Clippy clean
  - 2 new test cases for duplicate validation
navicore added a commit that referenced this pull request Dec 13, 2025
  Summary

  1. Updated ROADMAP.md

  - Changed ffi:readline references to ffi:libedit
  - Updated Use Cases section
  - Updated Tab Completion section noting callback dependency (shelved)

  2. Extended sqlite.toml with Prepared Statements

  Added 8 new FFI functions:
  - db-prepare - Compile SQL to statement
  - db-step - Execute/fetch rows
  - db-finalize - Clean up statement
  - db-reset - Reset for re-execution
  - db-column-int - Get integer column
  - db-column-text - Get text column
  - db-column-count - Get column count
  - db-bind-int, db-bind-text - Parameter binding

  3. Created Shopping Cart Example (examples/shopping-cart/)

  A complete REST server demonstrating:
  - HTTP API: GET/POST endpoints with query parameter parsing
  - SQLite Persistence: Products, cart items, orders tables
  - Prepared Statements: Queries with result iteration
  - Transactions: Checkout uses BEGIN/COMMIT/ROLLBACK
  - Concurrent Handling: Strands for parallel requests

  Files created:
  - shopping-cart.seq - Main server (~670 lines)
  - sqlite.toml - FFI manifest (copied for convenience)
  - README.md - Documentation

  Test Results

  Products: 1. Apple - $100 (stock: 50)
  Cart:     #1: Apple x 2 @ $100 = $200
  Checkout: Order total: $550 (3 items)
  Stock:    Apple 50→48, Milk 20→19
This was referenced Dec 14, 2025
navicore added a commit that referenced this pull request Dec 15, 2025
  Summary of changes:

  | File           | Change                                                    |
  |----------------|-----------------------------------------------------------|
  | channel.rs     | Added ChannelStatsInner with atomic send/receive counters |
  | channel.rs     | Updated send/receive functions to increment counters      |
  | channel.rs     | Added channel_stats() function for diagnostics            |
  | channel.rs     | Added test_channel_stats test                             |
  | diagnostics.rs | Display per-channel stats table with backpressure warning |
  | ROADMAP.md     | Updated to reflect Phase 4 completion                     |

  New diagnostic output format:
  [Channels]
    Open channels: 3

        ID     Depth     Sends     Recvs
    ------  --------  --------  --------
        #1         0       142       142
        #2        47       189       142   ⚠️
        #3         0        95        95

  Performance impact: One atomic fetch_add per send/receive operation (same pattern as pool_allocs).
This was referenced Dec 26, 2025
This was referenced Jan 20, 2026
@navicore navicore restored the add-claude-github-actions-1761009417088 branch January 25, 2026 17:05
@navicore navicore deleted the add-claude-github-actions-1761009417088 branch January 25, 2026 17:26
@claude claude Bot mentioned this pull request Apr 21, 2026
Merged
navicore added a commit that referenced this pull request Apr 24, 2026
  - #1 current_line bleed — record_pass and record_failure now clear
  current_line after use in runtime/src/test.rs. A span-less assertion
  following a span-ful one can no longer inherit the previous line.
  - #2 Substring match — collect_failure_block now uses an exact {name}
  ... FAILED header match. Includes a dedicated test covering the add /
  add-overflow false-positive case.
  - #3 MAX_PRINTED — promoted to module-scope const
  MAX_PRINTED_FAILURES_PER_TEST: usize = 5 with a brief rationale comment.
  - #5 Design doc status — design → done.
  - #6 Tests — 4 new tests in test_runner/tests.rs covering: normal block
  capture, back-to-back FAILED blocks (only target returned), absent name
  returns None, substring false-positive rejected.

  Skipped #4 (assert/assert_not wording) per earlier triage — current
  expected X, got Y form is precise and type-agnostic; adding
  "truthy/falsy" prose doesn't help.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant