Commit Graph
1073 Commits
Author SHA1 Message Date
bchanot afd6073371 docs(gitflow): manual-push mode — SETTINGS push discipline, gitflow skill rows, CHANGELOG 2026-10-06 18:03:35 +02:00
bchanot e6cccc1740 chore(memory): journal + contract/plan — feat manual-push-mode run A 2026-10-06 17:50:24 +02:00
bchanot 2fc88304ac feat(gitflow): manual-push mode honoured by the lib, quiet unpushed-guard
`gitflow.autopush false` (human-set git config) now means "nothing is
pushed" end to end, not only in the post-commit/post-merge hooks:

- lib/gitflow.sh: `_gitflow_push_off` is the single reader of
  GITFLOW_NO_PUSH / gitflow.autopush for the lib's push sites; `start`
  and `finish` stop pushing in manual mode. `gitflow_delete` checks out
  the base that contains the branch and drops a lagging upstream before
  `git branch -d` (LRN-161: `-d` judges against the upstream when set).
  Skipped remote deletes say `left in place`; `_gitflow_sync_base`
  replaces the silent `pull --ff-only || true` and warns when a base is
  behind origin and cannot fast-forward.
- hooks/unpushed-guard.sh: manual mode is silent at Stop and gives one
  `ℹ manual push mode:` line at SessionStart counting every local
  branch; an unparseable value is named and treated as auto.
- CLAUDE.global.md: manual-push mode doctrine, "ahead = defect" scoped
  to auto mode.
- Tests: gitflow-test T18m block (T18m0, T18i-T18o, 7 cases),
  unpushed-guard T10-T16.

Follow-ups (TODO.md): run B push-guard hook + settings deny widening +
banner; run C skills that push on their own (/close STEP 5C, …).
Do not enable manual mode on the work machine before B and C land.
2026-10-06 17:49:20 +02:00
bchanot fa67664bac chore(memory): journal — release 2.0.0 cut and tagged 2026-10-06 2026-10-06 16:15:10 +02:00
bchanot 4d81f5a8fc Merge release/2.0.0 into develop 2026-10-06 16:13:13 +02:00
bchanot 9ef66e239b chore(release): 2.0.0 — MIT LICENSE, README License section, Linux note reworded 2026-10-06 16:12:52 +02:00
bchanot b47bba7faf Merge develop into release/2.0.0 2026-10-06 16:07:22 +02:00
bchanot 370f35a5a1 Merge bugfix/macos-portability into develop 2026-10-06 16:06:32 +02:00
bchanot b3f3ae2441 chore(memory): doc-sync deferred items + journal 2026-10-06 2026-10-06 16:00:54 +02:00
bchanot c6fb2e4219 docs: global sync before 2.0.0 — components, slash table, profiles, GSD 3.0.0, migration guide, package-install guard 2026-10-06 16:00:41 +02:00
bchanot a84aaaabbd chore(memory): prune 2026-10-06 — BLK-028 merge, bounded caveman pass on 37 entries 2026-10-06 15:40:26 +02:00
bchanot 6bc7c12bf3 chore(memory): reconcile 2026-10-06 — npm deny items closed, Makefile help re-verified open 2026-10-06 15:24:59 +02:00
bchanot 276fa67c80 chore(memory): BDR-110 + BLK-026/027 + LRN-189/190 + journal — macOS portability bugfix, contract + plan 2026-10-06 15:19:53 +02:00
bchanot e5b6cc5ef4 docs(changelog): macOS portability fix + deferred Linux run under [Unreleased] 2026-10-06 15:19:22 +02:00
bchanot 0efdff0d55 fix(portability): make test green on macOS, GNU-only idioms replaced
The suite and seven libs assumed a GNU userland: `cmd | grep -q` under
pipefail (grep exits at the first match, the producer takes SIGPIPE,
rc 141 → 15 false "merged into" FAILs in gitflow-test), `sed -i` with no
suffix, `wc -l` padding compared as a string, `stat -c`, `touch -d`,
`realpath -m` (gstack-links refusal never fired), bare `timeout` off the
sanitized PATH (design gate READY BUT UNVERIFIED), `grep -oP` (update-all
emptied the plugin list). Thirteen suites were red on this machine.

Portable forms on the native userland of both OS: producer captured out
of the pipeline, `sed -i.bak` in tests and a temp-sibling `sed_profile`
on the user dotfile, `tr -d ' '`, python3 perms, `touch -t`, a
`realpath -m` emulation that refuses `..`, perl `alarm` for the 15 s
bound, `sed -n` token extraction. Regression tests: gstack-links T4b,
doctrine-citers Alphabet/Alpha flip, profile-set-managed T18 (failing CLI
no longer aborts `set`), new portability-census suite over the tracked
shell files. Linux run deferred (see TODO).
2026-10-06 15:10:20 +02:00
bchanot 9d421e4493 chore(release): 2.0.0 — version.txt + CHANGELOG 2026-10-06 12:12:02 +02:00
bastien 4258a092e8 chore(memory): journal + TODO — npm soft-deny merged 2026-09-30 2026-09-30 22:53:10 +02:00
bastien 95168c1d1e Merge chore/npm-global-soft-deny into develop 2026-09-30 22:53:09 +02:00
bastien 29f4dc7ab4 feat(settings): soft-deny global npm installs until the user names the package
The literal deny patterns miss spellings such as `npm i <pkg> -g`.
The classifier entry covers every form and asks for a vetting summary
(publisher, age, downloads, install scripts, advisories) first.
2026-09-30 19:23:27 +02:00
bastien 18c8960adc chore(memory): journal + TODO — higgsfield pack merged to develop 2026-09-30 2026-09-30 19:07:10 +02:00
bastien df6dbce774 Merge feature/higgsfield-pack into develop 2026-09-30 19:06:55 +02:00
bastien f39c5d3bf8 chore: purge transient planning artifacts (BDR-065) 2026-09-30 19:06:54 +02:00
bastien 776613a570 chore(memory): BDR-109 + LRN-183..188 + BLK-025 + EVAL-039 — ship-feature higgsfield pack 2026-09-30 18:19:34 +02:00
bastien 535022186c docs(plugin-advisor): never recommend the Higgsfield toggles from project signals 2026-09-30 18:17:32 +02:00
bastien 2560905be2 docs(toggle): higgsfield header line names the login too 2026-09-30 18:17:17 +02:00
bastien d9617d8eb8 docs: Higgsfield README + CHANGELOG match the npm-only CLI refresh and the two disables — ship-feature higgsfield-pack 2026-09-30 18:17:16 +02:00
bastien 4c7db8893b fix(higgsfield): report upstream drift on every enable; final review fixes 2026-09-30 16:35:45 +02:00
bastien 142f73b08e docs(plan): mirror the final suite in the plan copies 2026-09-30 16:17:58 +02:00
bastien a1f7893786 test(higgsfield): drop the two shellcheck suppressions in the suite 2026-09-30 16:17:34 +02:00
bastien a53d66af98 docs(global): route media generation to the Higgsfield pack 2026-09-30 16:12:58 +02:00
bastien 0a52ca677d docs: Higgsfield pack in README and CHANGELOG 2026-09-30 16:11:41 +02:00
bastien 852ccdcc0f feat(doctor): report the Higgsfield CLI and its session 2026-09-30 16:11:33 +02:00
bastien 51a3353360 chore(higgsfield): lock entry and gitignore for the skill pack 2026-09-30 16:11:29 +02:00
bastien bbd3d209d3 feat(update): refresh the Higgsfield CLI and skill pack 2026-09-30 16:10:08 +02:00
bastien 83043412d0 feat(install): Higgsfield step 8.6; login offers test stdin alone 2026-09-30 16:08:34 +02:00
bastien acb6cd7cb4 feat(toggle): higgsfield and higgsfield-websites toggles 2026-09-30 16:06:43 +02:00
bastien 21df604eb0 fix(higgsfield): guard the suite's cleanup trap 2026-09-30 16:05:37 +02:00
bastien 67b7c98d70 feat(higgsfield): skill pack sync helper and CLI probes, with suite 2026-09-30 16:03:49 +02:00
bastien 65045f6abd docs(plan): close the confirmation-pass findings on the higgsfield plan 2026-09-30 16:00:32 +02:00
bastien 1f4bd4a75a docs(plan): revise the higgsfield plan and spec after the three-lens challenge 2026-09-30 15:06:43 +02:00
bastien 64d094f93a docs(plan): higgsfield pack implementation plan 2026-09-30 14:45:45 +02:00
bastien 4a96ec20b5 docs(spec): higgsfield pack design 2026-09-30 14:26:57 +02:00
bastien 3dad33e475 fix(settings): deny the npm global-install aliases
The deny list matched `npm install -g` only; `npm i -g` and the
`--global` spellings went through.
2026-09-30 14:26:56 +02:00
bastien cceedab095 chore(memory): journal — effort-pins LOW round merged to develop 2026-09-29 2026-09-29 18:04:30 +02:00
bastien 04df0f8979 Merge bugfix/effort-pins-low into develop 2026-09-29 18:04:22 +02:00
bastien be30869775 chore(memory): journal + TODO — effort-pins LOW round, 3 residual parked 2026-09-29 17:12:49 +02:00
bastien 3ce0ff163e docs(effort): helper header names the signal trap and the quoted rejection 2026-09-29 16:48:14 +02:00
bastien 0c135a0ab7 fix(effort): five residual LOW on lib/effort-pins.sh
INT/TERM trap removes the mktemp sibling and exits 130 (traps restored,
never EXIT); re-read message honest and reached by a stubbed test; rejected
map line printed through printf %q; suite guards mktemp -d and skips the
read-only case under root. Cases T13b, T15, T15b, T16.
2026-09-29 16:45:57 +02:00
bastien 5f39f01159 chore(memory): journal — effort round merged to develop 2026-09-29 2026-09-29 16:41:48 +02:00
bastien 902bc76a2f Merge feature/effort-round into develop 2026-09-29 16:41:35 +02:00