Skip to content

chore: remove unused GitHub Actions workflows#104

Merged
Gradata merged 6 commits into
mainfrom
chore/remove-github-workflows
Apr 17, 2026
Merged

chore: remove unused GitHub Actions workflows#104
Gradata merged 6 commits into
mainfrom
chore/remove-github-workflows

Conversation

@Gradata

@Gradata Gradata commented Apr 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Delete all 8 workflow files under .github/workflows/ — they produced noisy red CI on every PR without reflecting the actual test/deploy process
  • Stops burning Actions minutes and false-negative signal on PR merges
  • No local dev or release impact — you test locally and deploy outside GitHub Actions

Removed

  • ci.yml, sdk-ci.yml, sdk-test.yml — redundant pytest runners
  • docker-publish.yml, sdk-publish.yml, npm-publish.yml, sdk-release.yml — unused publish paths
  • docs-deploy.yml — unused docs deployment

Test plan

  • Repo still builds locally (no workflows referenced from code)
  • gh pr flow unaffected — merges no longer gated by broken CI

Generated with Gradata

Gradata and others added 6 commits April 16, 2026 23:57
…ompts

Two measured waste eliminations:

1. inject_brain_rules: mandatory_reminder block restated every mandatory
   rule verbatim in a recency tag. mandatory_block already places them in
   primacy position — the reminder was defensive redundancy costing
   ~50-200 tok/session per mandatory rule.

2. context_inject: MIN_MESSAGE_LEN raised 10 → 60 to skip brain FTS
   search on trivial follow-ups ("ok", "yes", "continue"). Previous
   threshold only filtered 1-9 char messages, causing ~400 tok of
   wasted context per ack-style reply.

Council audit (adversarial, synthesized from Skeptic + Architect +
Pragmatist) found my earlier measurement methodology used synthetic
inputs that masked real per-operation costs. Real heavy session
(10 prompts, 30 edits, 5 agents) accumulates ~9.6K gradata tokens;
context_inject alone can contribute 3.5K when prompts are substantive.

Tests: 2884 passed, 1 preexisting cp1252 Windows unicode failure
in test_rule_to_hook (unrelated to injection).

Co-Authored-By: Gradata <noreply@gradata.ai>
…imits

Rule_enforcement was re-injecting SessionStart rules on every Write/Edit,
costing ~165 tok/edit for zero added primacy value. Default it off behind
GRADATA_RULE_ENFORCEMENT=1 opt-in for ablation.

Also add env knobs for tuning injection volume without redeploying:
- context_inject: GRADATA_CONTEXT_INJECT kill switch + MIN_MESSAGE_LEN
  raised 60 -> 100 so ack-style replies skip FTS cost
- inject_brain_rules: GRADATA_MAX_RULES, GRADATA_MIN_CONFIDENCE,
  GRADATA_MAX_META_RULES for tuning SessionStart payload

Tests updated to opt into rule_enforcement where they exercise the hook
and to use a >=100 char message for context_inject.

Co-Authored-By: Gradata <noreply@gradata.ai>
Telemetry showed 10 SessionStart events in a long session re-injected
1.9KB each (~3.7k tokens total) — duplicative because the compact summary
already carries rules from the prior session, and the new session's
primacy slot is consumed by that summary.

Skip inject_brain_rules when source is 'compact' or 'resume'. Opt back
in with GRADATA_INJECT_ON_COMPACT=1 for ablation.

Co-Authored-By: Gradata <noreply@gradata.ai>
…d metas

When a meta-rule is injected, its source_lesson_ids are added to a mutex
set; individual RULE/PATTERN leaves whose _lesson_id() is in that set are
skipped so the principle isn't double-injected as both the meta and its
concrete leaves.

Freed slots get refilled: rank_rules is now called with a 3x overshoot
so the render loop has candidates beyond the MAX_RULES cap; the cap is
enforced at render time (cluster_lines + individual_lines <= MAX_RULES)
rather than at rank time.

On current brain: 1822B -> 1319B per SessionStart (27% smaller), and
leaf categories diversify from {LEADS, DEMO_PREP, DRAFTING} to
{DRAFTING, TONE, DATA_INTEGRITY, ARCHITECTURE, CODE} while the LEADS +
DEMO_PREP principles still land via metas.

Opt-out: GRADATA_META_RULE_MUTEX=0 for ablation. Mirrors the existing
cluster-vs-meta mutex pattern (meta_covered_categories).

Co-Authored-By: Gradata <noreply@gradata.ai>
These workflows produced noisy red CI on every PR without reflecting
the actual test/deploy process. Removing to stop burning Actions
minutes and false-negative signal on PR merges.

Removed:
- ci.yml, sdk-ci.yml, sdk-test.yml (redundant pytest runners)
- docker-publish.yml, sdk-publish.yml, npm-publish.yml, sdk-release.yml
  (unused publish paths)
- docs-deploy.yml (unused docs site deployment)

Co-Authored-By: Gradata <noreply@gradata.ai>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gradata has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai

coderabbitai Bot commented Apr 17, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 88180a02-21cc-4f8d-b2dc-ab9e0a287da2

📥 Commits

Reviewing files that changed from the base of the PR and between ffb3060 and c1db199.

📒 Files selected for processing (8)
  • .github/workflows/ci.yml
  • .github/workflows/docker-publish.yml
  • .github/workflows/docs-deploy.yml
  • .github/workflows/npm-publish.yml
  • .github/workflows/sdk-ci.yml
  • .github/workflows/sdk-publish.yml
  • .github/workflows/sdk-release.yml
  • .github/workflows/sdk-test.yml

📝 Walkthrough

• Removed 8 unused GitHub Actions workflows from .github/workflows/: ci.yml, sdk-ci.yml, sdk-test.yml, docker-publish.yml, sdk-publish.yml, npm-publish.yml, sdk-release.yml, and docs-deploy.yml

• Eliminates noisy, failing CI runs that don't reflect the repository's actual test or deployment processes

• Stops consuming GitHub Actions minutes on redundant test runners (multiple pytest workflows) and unused publishing paths (Docker, npm, PyPI publish workflows)

• Removes automated documentation deployment to Cloudflare Pages that was not being used

• No impact on local development or actual release processes—testing occurs locally and deployments happen outside GitHub Actions

• Pure CI/CD configuration changes with no code-level modifications, breaking changes, or new public APIs

Walkthrough

All GitHub Actions workflow files are removed, eliminating CI testing, code quality checks, documentation deployment, and automated publishing workflows for SDK, npm packages, and Docker images.

Changes

Cohort / File(s) Summary
SDK CI/CD Workflows
.github/workflows/sdk-ci.yml, .github/workflows/sdk-test.yml, .github/workflows/sdk-release.yml, .github/workflows/sdk-publish.yml
Removed SDK testing, linting, type checking, security scanning, building, and publishing automation for Python packages to PyPI.
Core CI Workflow
.github/workflows/ci.yml
Removed scheduled and event-triggered testing on Python 3.11–3.13 with pytest and pyright, and dependent PyPI publishing job.
Package Publishing Workflows
.github/workflows/npm-publish.yml, .github/workflows/docker-publish.yml
Removed npm package publishing for @gradata/cli and Docker image building/publishing to GHCR with tag-based versioning.
Documentation Deployment
.github/workflows/docs-deploy.yml
Removed MkDocs documentation build and deployment to Cloudflare Pages triggered on docs changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • feat: emails + legal pages + auto-deploy CI #27: Counterpart PR that adds/introduces GitHub Actions workflows with overlapping filenames (sdk-publish.yml, sdk-test.yml) and additional dashboard workflows, suggesting these PRs may be part of a CI/CD restructuring effort.

Suggested labels

refactor

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/remove-github-workflows

Comment @coderabbitai help to get the list of available commands and usage tips.

@Gradata Gradata merged commit 2514ba4 into main Apr 17, 2026
1 check was pending
@Gradata Gradata deleted the chore/remove-github-workflows branch April 17, 2026 16:13
@Gradata Gradata mentioned this pull request Apr 20, 2026
6 tasks
Gradata added a commit that referenced this pull request Apr 20, 2026
Restores a minimal version of the sdk-publish workflow removed in
PR #104, adapted for the current release convention:

- Trigger on `v*` tag push (was `sdk-v*` in the original)
- Adds `workflow_dispatch` input for manual re-run
- Preserves the OIDC trusted-publisher flow (no API token needed)
- Preserves version-match + already-published checks
- Drops the test-gate step (tests run in a separate workflow;
  adding ~5 min to release was the main cost motivating #104's
  removal)

Unblocks v0.6.1 PyPI publish for mobile-only release workflow —
no UV_PUBLISH_TOKEN required.

Co-Authored-By: Gradata <noreply@gradata.ai>
Gradata added a commit that referenced this pull request Apr 20, 2026
Restores a minimal version of the sdk-publish workflow removed in
PR #104, adapted for the current release convention:

- Trigger on `v*` tag push (was `sdk-v*` in the original)
- Adds `workflow_dispatch` input for manual re-run
- Preserves the OIDC trusted-publisher flow (no API token needed)
- Preserves version-match + already-published checks
- Drops the test-gate step (tests run in a separate workflow;
  adding ~5 min to release was the main cost motivating #104's
  removal)

Unblocks v0.6.1 PyPI publish for mobile-only release workflow —
no UV_PUBLISH_TOKEN required.

Co-authored-by: Gradata <noreply@gradata.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant