Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
5379166
ci: fork upstream auto-sync
gburd Jul 13, 2026
5445b4d
ci: AI/LLM PR review (OCR via Bedrock + Agora MCP history)
gburd Jul 13, 2026
c06506b
ci: use SYNC_TOKEN (workflow scope) for upstream sync push
gburd Jul 27, 2026
f72d10b
ci: bump actions/checkout to v5 in sync workflows
gburd Jul 27, 2026
a716f5b
Rebase on upstream hourly, add AI/LLM PR review
gburd Mar 10, 2026
28b8a5f
[DO NOT MERGE] dev: Nix flake for reproducible Lime-pinned dev shell
gburd Jun 5, 2026
dd660d4
build: add Lime parser-generator probe + tooling (Phase 1)
gburd Jun 5, 2026
d990d96
replication: port grammars + scanners to Lime (Phase 2a/2b/5)
gburd Jun 5, 2026
ef53ece
bootstrap: port BKI parser to Lime (Phase 2c)
gburd Jun 5, 2026
af86829
isolation: port spec parser to Lime (Phase 2f/5)
gburd Jun 5, 2026
aa827c4
jsonpath: port grammar + scanner to Lime (Phase 2e/5)
gburd Jun 5, 2026
0bea72d
fe_utils, psql, pgbench: port frontend lexers to Lime (Phase 2d/2h/5)
gburd Jun 5, 2026
dc51f73
guc: port configuration-file scanner to Lime (Phase 2g/5)
gburd Jun 5, 2026
5e367eb
parser: port backend SQL grammar + scanner + ecpg to Lime (Phase 2k/5)
gburd Jun 5, 2026
8dce274
plpgsql: port pl_gram to Lime (Phase 2j)
gburd Jun 5, 2026
8e68f73
contrib: port cube, seg, pg_plan_advice to Lime (Phase 5)
gburd Jun 5, 2026
2a66f60
doc: list Lime as a build dependency in installation.sgml
gburd Jun 5, 2026
00ff3ca
[DO NOT MERGE] parser: runtime grammar-extension API (Phase 4)
gburd Jun 5, 2026
aac2c01
[DO NOT MERGE] test/modules: grammar-extension test + benchmark modules
gburd Jun 5, 2026
ad7cd7f
[DO NOT MERGE] contrib: revive Berkeley QUEL via runtime grammar exte…
gburd Jun 5, 2026
7c7a873
parser: emit + isolate Lime grammar snapshot for runtime extension (T…
gburd Jun 16, 2026
630888f
parser: Track B in-process push-parse path via Lime host-reduce (v1.6.1)
gburd Jun 17, 2026
6bee906
parser: link in-process Lime compiler strong into backend (Track B)
gburd Jun 17, 2026
4575401
parser: compose grammar extensions in-process, delete cc pipeline (Tr…
gburd Jun 17, 2026
820a694
parser: pre-warm grammar-extension compose at postmaster start (Track…
gburd Jun 17, 2026
2e01ee8
parser: resolve extension keyword lexemes to composed token codes (Tr…
gburd Jun 17, 2026
9ad4105
parser: oracle-resolve colliding extension keywords (Track B P4 tier 1)
gburd Jun 18, 2026
d79b484
parser: document load-at-start grammar-extension lifecycle (Track B P…
gburd Jun 18, 2026
a986be9
parser: drive the Lime push parser by default when extensions are act…
gburd Jun 18, 2026
12c47c6
parser: fork-resolve the DELETE keyword collision via one-token peek …
gburd Jun 18, 2026
fb225bb
WIP: bump Lime to v1.8.2 (session fold pending)
gburd Jul 5, 2026
54344ab
WIP: Track B conflict gate + push-parse fixes (session fold pending)
gburd Jul 5, 2026
fe64dd4
WIP: QUEL value-ABI + unit-rule workaround + test (session fold pending)
gburd Jul 5, 2026
1ba6899
WIP: UPSERT grammar-extension demonstrator (session fold pending)
gburd Jul 5, 2026
ea7d86f
WIP: grammar-ext test infra (conflict-gate india, overlap, typedefs)
gburd Jul 5, 2026
4a23d9e
WIP: pin Lime v1.8.2 (v1.8.3 exposes ruleno-mapping bug; fold pending)
gburd Jul 23, 2026
b04107f
WIP: expand QUEL (result attrs, UNIQUE, INTO, scalar aggregates, robu…
gburd Aug 4, 2026
ecff450
WIP: fix pgpa driver rebase resolution (NO_SCAN tags not in current m…
gburd Aug 4, 2026
dc5aa48
WIP: pgpa port -- thread lex-error message+location (integer_junk, ou…
gburd Aug 4, 2026
0d1f780
WIP: converter -- suppress false-positive untyped-nonterminal WARN in…
gburd Aug 4, 2026
964a1d6
WIP: silence meson multi-output custom_target warnings (use .to_list(…
gburd Aug 4, 2026
9cb230b
WIP: Lime v1.10.2 -- identity-based reduce dispatch (rule-by-id), dro…
gburd Aug 4, 2026
c61eb56
WIP: per-session grammar dialect selection (Track B Option B)
gburd Aug 5, 2026
07d61bd
perf(parser): cut push-parse penalty ~40% by fixing per-reduce memsets
gburd Aug 5, 2026
5b5c3ed
WIP: add grammar_dialect GUC to postgresql.conf.sample (003_check_guc)
gburd Aug 5, 2026
7070f06
WIP: Lime v1.11.0 -- memset fix upstreamed (drop pglime post-process)…
gburd Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Node modules
scripts/ai-review/node_modules/
# Note: package-lock.json should be committed for reproducible CI/CD builds

# Logs
scripts/ai-review/cost-log-*.json
scripts/ai-review/*.log

# OS files
.DS_Store
Thumbs.db

# Editor files
*.swp
*.swo
*~
.vscode/
.idea/
163 changes: 163 additions & 0 deletions .github/DEV_SETUP_FIX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# Dev Setup Commit Fix - Summary

**Date:** 2026-03-10
**Issue:** Sync workflow was failing because "dev setup" commits were detected as pristine master violations

## Problem

The sync workflow was rejecting the "dev setup v19" commit (e5aa2da496c) because it modifies files outside `.github/`. The original logic only allowed `.github/`-only commits, but didn't account for personal development environment commits.

## Solution

Updated sync workflows to recognize commits with messages starting with "dev setup" (case-insensitive) as allowed on master, in addition to `.github/`-only commits.

## Changes Made

### 1. Updated Sync Workflows

**Files modified:**
- `.github/workflows/sync-upstream.yml` (automatic hourly sync)
- `.github/workflows/sync-upstream-manual.yml` (manual sync)

**New logic:**
```bash
# Check for "dev setup" commits
DEV_SETUP_COMMITS=$(git log --format=%s upstream/master..origin/master | grep -i "^dev setup" | wc -l)

# Allow merge if:
# - Only .github/ changes, OR
# - Has "dev setup" commits
if [ "$COMMITS_AHEAD" -gt 0 ] && [ "$NON_GITHUB_CHANGES" -gt 0 ]; then
if [ "$DEV_SETUP_COMMITS" -eq 0 ]; then
# FAIL: Code changes outside .github/ that aren't dev setup
exit 1
else
# OK: Dev setup commits are allowed
continue merge
fi
fi
```

### 2. Created Policy Documentation

**New file:** `.github/docs/pristine-master-policy.md`

Documents the "mostly pristine" master policy:
- ✅ `.github/` commits allowed (CI/CD configuration)
- ✅ "dev setup ..." commits allowed (personal development environment)
- ❌ Code changes not allowed (must use feature branches)

## Current Commit Order

```
master:
1. 9a2b895daa0 - Complete Phase 3: Windows builds + fix sync (newest)
2. 1e6379300f8 - Add CI/CD automation: hourly sync, Bedrock AI review
3. e5aa2da496c - dev setup v19
4. 03facc1211b - upstream commits... (oldest)
```

**All three local commits will now be preserved during sync:**
- Commit 1: Modifies `.github/` ✅
- Commit 2: Modifies `.github/` ✅
- Commit 3: Named "dev setup v19" ✅

## Testing

After committing these changes, the next hourly sync should:
1. Detect 3 commits ahead of upstream (including the fix commit)
2. Recognize that they're all allowed (`.github/` or "dev setup")
3. Successfully merge upstream changes
4. Create merge commit preserving all local commits

**Verify manually:**
```bash
# Trigger manual sync
# Actions → "Sync from Upstream (Manual)" → Run workflow

# Check logs for:
# "✓ Found 1 'dev setup' commit(s) - will merge"
# "✓ Successfully merged upstream with local configuration"
```

## Future Updates

When updating your development environment:

```bash
# Make changes
git add .clangd flake.nix .vscode/ .idea/

# IMPORTANT: Start commit message with "dev setup"
git commit -m "dev setup v20: Update IDE and LSP configuration"

git push origin master
```

The sync will recognize this and preserve it during merges.

**Naming patterns recognized:**
- `dev setup v20` ✅
- `Dev setup: Update tools` ✅
- `DEV SETUP - New config` ✅
- `development environment changes` ❌ (doesn't start with "dev setup")

## Benefits

1. **No manual sync resolution needed** for dev environment updates
2. **Simpler workflow** - dev setup stays on master where it's convenient
3. **Clear policy** - documented what's allowed vs what requires feature branches
4. **Automatic detection** - sync workflow handles it all automatically

## What to Commit

```bash
git add .github/workflows/sync-upstream.yml
git add .github/workflows/sync-upstream-manual.yml
git add .github/docs/pristine-master-policy.md
git add .github/DEV_SETUP_FIX.md

git commit -m "Fix sync to allow 'dev setup' commits on master

The sync workflow was failing because the 'dev setup v19' commit
modifies files outside .github/. Updated workflows to recognize
commits with messages starting with 'dev setup' as allowed on master.

Changes:
- Detect 'dev setup' commits by message pattern
- Allow merge if commits are .github/ OR dev setup
- Update merge messages to reflect preserved changes
- Document pristine master policy

This allows personal development environment commits (IDE configs,
debugging tools, shell aliases, etc.) on master without violating
the pristine mirror policy.

See .github/docs/pristine-master-policy.md for details"

git push origin master
```

## Next Sync Expected Behavior

```
Before:
Upstream: A---B---C---D (latest upstream)
Master: A---B---C---X---Y---Z (X=CI/CD, Y=CI/CD, Z=dev setup)

Status: 3 commits ahead, 1 commit behind

After:
Master: A---B---C---X---Y---Z---M
\ /
D-------/

Where M = Merge commit preserving all local changes
```

All three local commits (CI/CD + dev setup) preserved! ✅

---

**Status:** Ready to commit and test
**Documentation:** See `.github/docs/pristine-master-policy.md`
Loading
Loading