Skip to content

Add a master switch, and ship the template with sweeps off - #1

Merged
kaarthi19 merged 2 commits into
mainfrom
feat/master-switch
Aug 9, 2026
Merged

Add a master switch, and ship the template with sweeps off#1
kaarthi19 merged 2 commits into
mainfrom
feat/master-switch

Conversation

@kaarthi19

Copy link
Copy Markdown
Collaborator

The template is sweeping every 8 hours for the example field. Two problems, and the second is the serious one:

  1. It burns Actions minutes collecting research nobody reads.
  2. Whatever it collects becomes the starting data of every repository created from it. A copy made right now inherits 190 items and a 29-item dashboard from the example config.

The switch

enabled in config.yaml. false means scheduled sweeps do nothing at all — no collection, no scoring, no commit.

A manual dispatch of the pipeline still runs, so trying a one-off sweep never needs a config edit. --force does the same locally.

It's read in a cheap gate job before any dependency install, so a switched-off repo spends seconds rather than a full sweep. publish and alert are gated on it too, so an off repo doesn't spin runners to report that nothing happened.

Defaults to true — any config predating the switch keeps running.

Two knock-ons

  • CI would have silently stopped testing. Its "runs end-to-end with no secrets" step calls argus.run, which now exits early against the shipped config. It passes --force so it still exercises the real path. Verified both ways.
  • The committed database and dashboard are reset to empty, for the same inheritance reason.

Setup flow

The README gains a step 5: switch it on once your sources are yours. That ordering is deliberate — a fresh copy shouldn't sweep for someone else's field before it's been configured.

40 tests pass, including that the shipped config really does have the switch off, and that a disabled run never opens the database at all.

The template was sweeping every 8 hours for the example field. Two
problems: it burns Actions minutes collecting research nobody reads, and
whatever it collects becomes the starting data of every repository
created from it — a new copy already inherited 190 items and a 29-item
dashboard.

`enabled` in config.yaml is the switch. False means scheduled sweeps do
nothing at all: no collection, no scoring, no commit. A manual dispatch
of the pipeline still runs, so a one-off sweep never needs a config edit,
and --force does the same locally.

It's read in a cheap `gate` job before any dependency install, so a
switched-off repository spends seconds rather than a full sweep. publish
and alert are gated on it too, so an off repo doesn't spin runners to
report that nothing happened. Defaults to true, so any existing config
that predates the switch keeps running.

Two knock-ons handled:

  * CI's "runs end-to-end with no secrets" step would have silently
    become a no-op, since the shipped config now says false. It passes
    --force, so it still exercises the real path.
  * The committed database and dashboard are reset to empty, for the
    same inheritance reason.
Step 5 alone wasn't enough. The intro still promised it 'runs free on
GitHub Actions every 8 hours' with no hint a fresh copy starts off, and
the Local dev block's 'make run' would have no-opped with no explanation.

Adds a note under the intro, a Pausing section covering the non-template
case (leave, retuning a noisy radar), and ARGS passthrough on the run
target so 'make run ARGS=--force' is real rather than aspirational —
'make run --force' would have been read by make as a target.
@kaarthi19
kaarthi19 merged commit bff8b89 into main Aug 9, 2026
3 checks passed
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