Skip to content

ci: run CI on staging PRs too#29

Merged
rita-aga merged 1 commit intomainfrom
ci/staging-workflow
Mar 14, 2026
Merged

ci: run CI on staging PRs too#29
rita-aga merged 1 commit intomainfrom
ci/staging-workflow

Conversation

@rita-aga
Copy link
Collaborator

Adds staging to pull_request and push branch filters in ci.yml so PRs targeting staging get CI checks.

@rita-aga rita-aga force-pushed the ci/staging-workflow branch from a831d05 to 057643e Compare March 14, 2026 03:13
@rita-aga rita-aga force-pushed the ci/staging-workflow branch from 057643e to cc36051 Compare March 14, 2026 17:31
@rita-aga rita-aga merged commit 35ecfbb into main Mar 14, 2026
5 checks passed
rita-aga added a commit that referenced this pull request Mar 16, 2026
* ci: bump test timeout to 60m (45m too tight for cold cache) (#31)

* ci: run CI on staging PRs too (#29)

* fix: OS app installation persistence across restarts (#25)

* fix: OS app installation persistence across restarts

Co-Authored-By: Codex <noreply@openai.com>

* fix: clippy useless_vec + update readability baseline

* ci: retrigger

* ci: retrigger with target cache

* fix: drop entity_index write lock before metrics call to prevent deadlock

populate_index_from_store held entity_index.write() while calling
record_server_state_metrics, which tries to acquire entity_index.read().
std::sync::RwLock is not reentrant, so this self-deadlocked, causing
cargo test to hang indefinitely in CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix: persist bootstrap verification cache to prevent OOM on Railway (#35)

* fix: persist bootstrap verification cache to prevent OOM on Railway

Built-in specs (system + agent) ran the Z3/Stateright/proptest
verification cascade on every boot because the hash-gated cache
had a read path but no write path — results were never persisted
to Turso. On Railway's 512MB containers this caused OOM.

Wire the write side: after bootstrap verifies specs, upsert them
into the specs table with their content hash and mark verified=1.
Subsequent boots hit the cache and skip the cascade entirely.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: cargo fmt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: update readability baseline after verification cache fix

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* ci: retrigger

---------

Co-authored-by: rita-aga <rita.mirai@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix: OS app install merges specs instead of replacing + handle 409 on cloud provision

Bug 1: provision_cloud_database now recovers from 409 Conflict by
fetching existing DB hostname and creating a fresh auth token. Makes
ensure_tenant truly idempotent.

Bug 2: install_os_app now merges incoming app CSDL with existing tenant
CSDL and passes merge=true to bootstrap_tenant_specs. Installing a
second OS app into a tenant no longer nukes the first app's entity types.

Tests: ensure_tenant idempotency, 409 cloud recovery (wiremock),
multi-app install merge + idempotency.

---------

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: sesh nalla <39490039+nerdsane@users.noreply.github.com>
rita-aga added a commit that referenced this pull request Mar 16, 2026
…re (#47)

* ci: bump test timeout to 60m (45m too tight for cold cache) (#31)

* ci: run CI on staging PRs too (#29)

* fix: OS app installation persistence across restarts (#25)

* fix: OS app installation persistence across restarts

Co-Authored-By: Codex <noreply@openai.com>

* fix: clippy useless_vec + update readability baseline

* ci: retrigger

* ci: retrigger with target cache

* fix: drop entity_index write lock before metrics call to prevent deadlock

populate_index_from_store held entity_index.write() while calling
record_server_state_metrics, which tries to acquire entity_index.read().
std::sync::RwLock is not reentrant, so this self-deadlocked, causing
cargo test to hang indefinitely in CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix: persist bootstrap verification cache to prevent OOM on Railway (#35)

* fix: persist bootstrap verification cache to prevent OOM on Railway

Built-in specs (system + agent) ran the Z3/Stateright/proptest
verification cascade on every boot because the hash-gated cache
had a read path but no write path — results were never persisted
to Turso. On Railway's 512MB containers this caused OOM.

Wire the write side: after bootstrap verifies specs, upsert them
into the specs table with their content hash and mark verified=1.
Subsequent boots hit the cache and skip the cascade entirely.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: cargo fmt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: update readability baseline after verification cache fix

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* ci: retrigger

---------

Co-authored-by: rita-aga <rita.mirai@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* docs(skills): add toolsmith vision, approval UX, and meta-loop architecture

- temper-agent: Add 'You Build Your Own Tools' section — specs are hot-reloaded, not PRs
- temper-agent: Add 'Walk the states, don't skip them' — no shortcut actions
- temper-agent: Add meta-loop agent concept — improving the platform itself
- temper-agent: Add approval UX guidance — chat buttons > Observe UI > CLI
- temper-openclaw: Add Discord/Telegram/Slack approval bridge pattern
- temper-openclaw: Add hot-reload emphasis — spec changes are NOT PRs
- temper-openclaw: Add meta-loop agent architecture section
- temper-openclaw: Document the distinction: spec changes (hot-reload) vs platform changes (PRs)

---------

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: sesh nalla <39490039+nerdsane@users.noreply.github.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