chore(release): promote develop → main (week of 2026-07-06)#21
chore(release): promote develop → main (week of 2026-07-06)#21aptracebloc wants to merge 15 commits into
Conversation
* Develop (#1) * added files * improvements * improvements * license updated * license updated * Update LICENSE * Create requirements.txt * Delete requirement.txt * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Delete requirements.txt * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update README.md * Update README.md * Update traceblocTrainingGuide.ipynb * Update README.md * Update README.md * Update training notebook to match Colab quickstart The GitHub notebook was outdated — minimal instructions, links to GitLab (should be GitHub), no prerequisites, no troubleshooting, no model zoo table, no expected outputs. Updated to mirror the Colab notebook with: - Prerequisites checklist with signup/join links - Model zoo task table with all 9 task types and frameworks - Option A (model zoo) / Option B (own model) structure - Dataset ID instructions (where to find it) - Available training commands table - Expected outputs and troubleshooting for each step - "What happens next" section (monitoring, leaderboard, compare) - Links to docs, support, Discord Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add auto-add to engineer kanban workflow * fix(ci): pin actions/add-to-project to v1.0.2 @v1 is not a valid tag — action publishes full semver only. Pin to v1.0.2. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Divya <divyasingh@tracebloc.io> Co-authored-by: Moritz Berthold <76496190+BerthoMo@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Asad Iqbal (Saadi) <asad.dsoft@gmail.com>
* chore: add PR template * ci: add customer priority bump caller * ci: add stale backlog auto-close * ci: add set-pr-status caller workflow
* Develop (#1) * added files * improvements * improvements * license updated * license updated * Update LICENSE * Create requirements.txt * Delete requirement.txt * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Delete requirements.txt * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update README.md * Update README.md * Update traceblocTrainingGuide.ipynb * Update README.md * Update README.md * Update training notebook to match Colab quickstart The GitHub notebook was outdated — minimal instructions, links to GitLab (should be GitHub), no prerequisites, no troubleshooting, no model zoo table, no expected outputs. Updated to mirror the Colab notebook with: - Prerequisites checklist with signup/join links - Model zoo task table with all 9 task types and frameworks - Option A (model zoo) / Option B (own model) structure - Dataset ID instructions (where to find it) - Available training commands table - Expected outputs and troubleshooting for each step - "What happens next" section (monitoring, leaderboard, compare) - Links to docs, support, Discord Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: switch install to extras syntax for tracebloc_package 0.6.33 Aligns with the optional-dependency-groups change shipping in tracebloc-py-package 0.6.33. Default install no longer bundles every ML framework — users pick the extra that matches their setup. - README.md: 3-line extras table in the local-setup section. - notebooks/traceblocTrainingGuide.ipynb cell 3: switch install cmd to [pytorch] as the most common setup; comment points at [tensorflow] and [all]. DO NOT MERGE until tracebloc_package 0.6.33 is live on real PyPI. Currently 0.6.33 is only on TestPyPI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: rename camelCase API calls in notebook + bump install pin to 0.7.0 Builds on top of the install-extras change (eeae340) and broadens scope for the upcoming tracebloc_package 0.7.0 release. Notebook changes (notebooks/traceblocTrainingGuide.ipynb): - Cell 3 install pin: >=0.6.33 -> >=0.7.0 - Cell 11: user.uploadModel(MODEL_PATH) -> user.upload_model(MODEL_PATH) - Cell 12 (markdown docs example): same uploadModel rename - Cell 14: user.linkModelDataset(DATASET_ID) -> user.link_model_dataset(DATASET_ID) - Cell 16 (reference table): experimentName, learningRate, getTrainingPlan, resetTrainingPlan -> experiment_name, learning_rate, get_training_plan, reset_training_plan - Cell 17: experimentName + getTrainingPlan call sites updated README.md: pip install lines bumped from >=0.6.33 to >=0.7.0 across all three extras (pytorch, tensorflow, all). Static rewrite only; the notebook was not executed (requires real workspace credentials). All deprecated symbols touched here have deprecation aliases on the Python side, so callers using the old names would still work but emit DeprecationWarning. Supersedes #4 (which was scoped only to the 0.6.33 install-extras migration). The 0.6.33 release path is being collapsed into 0.7.0 now that SDK.2/3 work has landed on develop, so this PR ships both changes together. Cannot merge until tracebloc_package 0.7.0 is published to real PyPI — same merge-coordination block as #4. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Add CLAUDE.md for Claude Code guidance (#3) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: migrate notebooks to tracebloc 0.8.x (closes #11) The SDK was renamed in tracebloc/tracebloc-py-package#135. `tracebloc==0.8.1` is live on PyPI. Notebooks and docs here still pointed at the old `tracebloc_package` name. - Install cells / commands: `tracebloc_package[X]>=0.7.0` -> `tracebloc[X]>=0.8.0`. - Import cells: `from tracebloc_package import ...` -> `from tracebloc import ...`. - README links the new PyPI page (`tracebloc`, not `tracebloc-package`). - CLAUDE.md notes the historical name and the metadata-only redirect that keeps `pip install tracebloc_package` working for old notebooks. Old name keeps working in 0.8.x via the compat shim (with DeprecationWarning) and the redirect distribution on PyPI; this PR moves the canonical examples to the new name. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: bump install pin to 0.8.1 (latest) * chore: align develop with main and tidy up Python conventions - Delete stale `requirement.txt` (matches main; install lives in README) - Rename `trainingObject` → `training_object` in traceblocTrainingGuide.ipynb (PEP 8) - Rewrite GenerateCheckWeights.ipynb against the 0.8.x SDK (`from tracebloc import ModelWeights` no longer exists). New version walks through generating + verifying a `<name>_weights.pkl` for both PyTorch and TensorFlow models, matching the format the SDK expects. Closes #13 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * chore: rename training_object → training in training guide Shorter, reads more naturally in the configuration calls (`training.epochs(10)` vs `training_object.epochs(10)`). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: align dataset wording with actual UI labels - "Training Dataset ID" → "Dataset" (the actual label in the use case panel; the value next to it is the ID) - "use case page" → "use case panel" (matches the term used elsewhere in the notebook) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: add step 0 — save a copy to Drive (Colab) Colab users who skip "Save a copy in Drive" lose their edits (model path, dataset ID, training plan) on reload. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: inline Drive-save tip in Prerequisites, drop Step 0 Step 0 was redundant for local readers and broke the 1-5 numbered flow. Folding the "Save a copy in Drive" reminder into the existing Colab callout keeps the guidance where Colab users will see it (next to the Colab link they're about to click) without adding a "Skip this" item for everyone else. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: repoint Colab links to GitHub-backed URL Previously the badge + body link + in-notebook link all pointed at a Drive-hosted Colab copy (file id 1N00idtp...) that had to be manually synced whenever the notebook changed — which is how it ended up stale. Switch to the colab.research.google.com/github/... form, which loads the canonical notebook from the repo on `main` directly. Future updates to traceblocTrainingGuide.ipynb propagate without any manual Drive step. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix: use .pth extension for PyTorch weights in GenerateCheckWeights The setup cell hardcoded weights_path to '<name>_weights.pkl' for all frameworks, but the notebook header documents the convention as '.pth' for PyTorch — and torch.save() produces a zip archive that isn't a generic pickle. Mixing the extension confuses users who hand the file to anything other than torch.load(). Move weights_path into each framework-specific cell so the extension matches the documented convention: '.pth' for the PyTorch save/verify cells, '.pkl' for the TensorFlow ones. Reported by Cursor Bugbot on PR #14. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Divya <divyasingh@tracebloc.io> Co-authored-by: Moritz Berthold <76496190+BerthoMo@users.noreply.github.com> Co-authored-by: lukasWuttke <54042461+LukasWodka@users.noreply.github.com> Co-authored-by: Lukas Wuttke <lukas@tracebloc.io> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Arturo Peroni <arturo@tracebloc.io>
* Develop (#1) * added files * improvements * improvements * license updated * license updated * Update LICENSE * Create requirements.txt * Delete requirement.txt * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Delete requirements.txt * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update traceblocTrainingGuide.ipynb * Update README.md * Update README.md * Update traceblocTrainingGuide.ipynb * Update README.md * Update README.md * Update training notebook to match Colab quickstart The GitHub notebook was outdated — minimal instructions, links to GitLab (should be GitHub), no prerequisites, no troubleshooting, no model zoo table, no expected outputs. Updated to mirror the Colab notebook with: - Prerequisites checklist with signup/join links - Model zoo task table with all 9 task types and frameworks - Option A (model zoo) / Option B (own model) structure - Dataset ID instructions (where to find it) - Available training commands table - Expected outputs and troubleshooting for each step - "What happens next" section (monitoring, leaderboard, compare) - Links to docs, support, Discord Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: switch install to extras syntax for tracebloc_package 0.6.33 Aligns with the optional-dependency-groups change shipping in tracebloc-py-package 0.6.33. Default install no longer bundles every ML framework — users pick the extra that matches their setup. - README.md: 3-line extras table in the local-setup section. - notebooks/traceblocTrainingGuide.ipynb cell 3: switch install cmd to [pytorch] as the most common setup; comment points at [tensorflow] and [all]. DO NOT MERGE until tracebloc_package 0.6.33 is live on real PyPI. Currently 0.6.33 is only on TestPyPI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: rename camelCase API calls in notebook + bump install pin to 0.7.0 Builds on top of the install-extras change (eeae340) and broadens scope for the upcoming tracebloc_package 0.7.0 release. Notebook changes (notebooks/traceblocTrainingGuide.ipynb): - Cell 3 install pin: >=0.6.33 -> >=0.7.0 - Cell 11: user.uploadModel(MODEL_PATH) -> user.upload_model(MODEL_PATH) - Cell 12 (markdown docs example): same uploadModel rename - Cell 14: user.linkModelDataset(DATASET_ID) -> user.link_model_dataset(DATASET_ID) - Cell 16 (reference table): experimentName, learningRate, getTrainingPlan, resetTrainingPlan -> experiment_name, learning_rate, get_training_plan, reset_training_plan - Cell 17: experimentName + getTrainingPlan call sites updated README.md: pip install lines bumped from >=0.6.33 to >=0.7.0 across all three extras (pytorch, tensorflow, all). Static rewrite only; the notebook was not executed (requires real workspace credentials). All deprecated symbols touched here have deprecation aliases on the Python side, so callers using the old names would still work but emit DeprecationWarning. Supersedes #4 (which was scoped only to the 0.6.33 install-extras migration). The 0.6.33 release path is being collapsed into 0.7.0 now that SDK.2/3 work has landed on develop, so this PR ships both changes together. Cannot merge until tracebloc_package 0.7.0 is published to real PyPI — same merge-coordination block as #4. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Add CLAUDE.md for Claude Code guidance (#3) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: migrate notebooks to tracebloc 0.8.x (closes #11) The SDK was renamed in tracebloc/tracebloc-py-package#135. `tracebloc==0.8.1` is live on PyPI. Notebooks and docs here still pointed at the old `tracebloc_package` name. - Install cells / commands: `tracebloc_package[X]>=0.7.0` -> `tracebloc[X]>=0.8.0`. - Import cells: `from tracebloc_package import ...` -> `from tracebloc import ...`. - README links the new PyPI page (`tracebloc`, not `tracebloc-package`). - CLAUDE.md notes the historical name and the metadata-only redirect that keeps `pip install tracebloc_package` working for old notebooks. Old name keeps working in 0.8.x via the compat shim (with DeprecationWarning) and the redirect distribution on PyPI; this PR moves the canonical examples to the new name. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs: bump install pin to 0.8.1 (latest) --------- Co-authored-by: Divya <divyasingh@tracebloc.io> Co-authored-by: Moritz Berthold <76496190+BerthoMo@users.noreply.github.com> Co-authored-by: lukasWuttke <54042461+LukasWodka@users.noreply.github.com> Co-authored-by: Lukas Wuttke <lukas@tracebloc.io> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Arturo Peroni <arturo@tracebloc.io>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 73f775f. Configure here.
ci(security): add public-repo PII gate caller
…#22) Bugbot (promotion PR #21), two findings: - Clone failure misreported as success: the model-zoo clone cell discarded stderr and ran an "already cloned" echo on ANY non-zero exit, so network/ permission/partial-clone failures looked like success. Guard on the directory actually existing; otherwise run git clone and let real errors surface. (notebooks/traceblocTrainingGuide.ipynb:107) - WIP check skips reopened PRs: wip-limit-check.yml listened only for opened/ ready_for_review, so reopened PRs re-entered active work without a WIP check, unlike the sibling kanban/status workflows. Add reopened. (.github/workflows/wip-limit-check.yml:5) Co-authored-by: shujaat hasan <shujaathasan@shujaats-MacBook-Pro.local> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
shujaatTracebloc
left a comment
There was a problem hiding this comment.
Review — content safe to promote, but not mergeable as-is 🔴
The develop→main delta is entirely infra/docs (8 new workflows, PR template, .gitignore, CLAUDE.md, Apache-2.0 LICENSE, README rewrite, 2 notebooks) — no application/runtime code. Confirmed via git diff origin/main origin/develop that nothing on main gets clobbered; develop is the strict superset (main's earlier work is already in develop).
HIGH — the PR is CONFLICTING (mergeStateStatus: DIRTY); it can't merge as-is. A test-merge produces two add/add conflicts (files created independently on both branches after merge-base dd1259d):
.github/workflows/wip-limit-check.yml:5— develop addsreopenedto the trigger list.notebooks/traceblocTrainingGuide.ipynb(clone cell) — develop has fix #22 (surface model-zoo clone failures).
Both resolve cleanly by taking develop's side on each (strictly newer). Mechanical.
MEDIUM — confirm PROJECTS_KANBAN_TOKEN is an org secret. add-to-kanban.yml:16 references ${{ secrets.PROJECTS_KANBAN_TOKEN }}; no repo-level secrets exist. Already live on develop with no reported failures, so likely org-scoped — worth a one-line confirmation so it doesn't fail on every issue/PR open.
Security review of the workflows — clean:
- No
pull_request_targetmisuse; both public-facing gates usepull_request. - No
${{ github.event.* }}interpolated into anyrun:step → no script-injection surface here. - All 6 referenced reusable workflows exist in
tracebloc/.github;stale-backlog.ymlpermissions scoped correctly; all 8 workflow files are valid YAML. - No secrets/debug/half-finished features; LICENSE is standard Apache-2.0 matching the README badge.
- LOW —
public-pii-gate-caller.yml/fr-gate-caller.ymlusesecrets: inheritonpull_request; GitHub withholds secrets for fork PRs on a public repo, so those gates run secret-less on external contributions. Not a concern for this same-repo promotion; note for the gates' own robustness. - NIT — reusable workflows pinned to
@mainand third-party actions to version tags rather than SHAs; standard internal convention.
Cursor Bugbot: pass.
Verdict: safe to promote once the two add/add conflicts are resolved in favor of develop (and optionally confirm the kanban secret).

Release promotion:
develop→mainCarried over into the staging release week of Mon 2026-07-06. Head is
develop, so PRs merging in before the release update this PR's head and re-trigger Bugbot automatically.Delta (12 commit(s) ahead of
main)Snapshot as of 2026-07-01 — will change as more lands on
develop.Note
Medium Risk
New required-style CI callers (FR gate on
mainmerges, public PII scanning) can block releases if secrets or kanban state are misconfigured; otherwise changes are docs/notebooks and workflow wiring only.Overview
Turns start-training from a bare placeholder into a public quick-start: full README (Colab badge, local
tracebloc[pytorch]>=0.8.1install), Apache 2.0 LICENSE, CLAUDE.md, and a standard Python.gitignore.Adds two Jupyter notebooks under
notebooks/:traceblocTrainingGuide.ipynb(login → upload model → link dataset → training plan →training.start()) andGenerateCheckWeights.ipynb(generate/verify companion*_weights.pkl/.pthforuser.upload_model(..., weights=True)).Introduces org GitHub process automation: a PR template, auto-add issues/PRs to the engineer kanban (
PROJECTS_KANBAN_TOKEN), stale backlog auto-close for inactive issues, and reusable-workflow callers for FR gate (merge tomain/staging), public PII gate, WIP limits, PR status, customer priority bump, and kanban closure routing—all delegating totracebloc/.github.Reviewed by Cursor Bugbot for commit 29ada1f. Bugbot is set up for automated code reviews on this repo. Configure here.