Skip to content

chore(release): promote develop → main (week of 2026-07-06)#21

Open
aptracebloc wants to merge 15 commits into
mainfrom
develop
Open

chore(release): promote develop → main (week of 2026-07-06)#21
aptracebloc wants to merge 15 commits into
mainfrom
develop

Conversation

@aptracebloc

@aptracebloc aptracebloc commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Release promotion: developmain

Carried 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 main merges, 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.1 install), 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()) and GenerateCheckWeights.ipynb (generate/verify companion *_weights.pkl/.pth for user.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 to main/staging), public PII gate, WIP limits, PR status, customer priority bump, and kanban closure routing—all delegating to tracebloc/.github.

Reviewed by Cursor Bugbot for commit 29ada1f. Bugbot is set up for automated code reviews on this repo. Configure here.

divyasinghds and others added 12 commits April 17, 2025 15:21
* 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>

@cursor cursor 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.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ 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.

Comment thread notebooks/traceblocTrainingGuide.ipynb Outdated
Comment thread .github/workflows/wip-limit-check.yml Outdated
@aptracebloc aptracebloc changed the title chore(release): promote develop → main (week of 2026-06-29) chore(release): promote develop → main (week of 2026-07-06) Jul 1, 2026
LukasWodka and others added 3 commits July 7, 2026 09:40
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 shujaatTracebloc 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.

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 adds reopened to 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_target misuse; both public-facing gates use pull_request.
  • No ${{ github.event.* }} interpolated into any run: step → no script-injection surface here.
  • All 6 referenced reusable workflows exist in tracebloc/.github; stale-backlog.yml permissions 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.
  • LOWpublic-pii-gate-caller.yml / fr-gate-caller.yml use secrets: inherit on pull_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 @main and 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).

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.

5 participants