Skip to content

Rename SensorTSLM to TimeCap#71

Closed
max-rosenblattl wants to merge 1 commit intomainfrom
max-rosenblattl/rename-to-timecap
Closed

Rename SensorTSLM to TimeCap#71
max-rosenblattl wants to merge 1 commit intomainfrom
max-rosenblattl/rename-to-timecap

Conversation

@max-rosenblattl
Copy link
Copy Markdown
Collaborator

Current situation

Rebrand from SensorTSLM to TimeCap. Pure text rename — no code logic, file paths, or imports change. Touches SPDX headers, README, docstrings, argparse descriptions, \$HOME/SensorTSLM defaults in helper scripts, and the ~/SensorTSLM references in evaluation/README.md.

Release Notes

  • Project renamed from SensorTSLM to TimeCap.

Documentation

README.md, evaluation/README.md, and SPDX headers updated to use TimeCap. No new docs.

Testing

  • git grep SensorTSLM returns no matches in tracked files after the rename.
  • No code logic changed; existing tests/imports remain valid.

Code of Conduct & Contributing Guidelines

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

📝 Walkthrough

Walkthrough

This PR comprehensively rebrand the project from "SensorTSLM" to "TimeCap" by updating SPDX copyright headers across 70+ files, along with documentation, configuration paths, CLI descriptions, and docstrings. No functional code or APIs are changed.

Changes

Project Rebranding: SensorTSLM → TimeCap

Layer / File(s) Summary
High-Level Documentation
README.md, evaluation/README.md
Top-level README title changes from "SensorTSLM Core Framework" to "TimeCap Core Framework". Evaluation README updates .env path from ~/SensorTSLM/.env to ~/TimeCap/.env and cd command in caption export workflow.
Configuration & Scripts
scripts/export_captions_sharded.sh, curriculum_learning.py
Default REPO_DIR environment variable updated from $HOME/SensorTSLM to $HOME/TimeCap. CLI parser description in curriculum learning script updated to reference "TimeCap Curriculum Learning".
Code Comments & Docstrings
time_series_datasets/mhc_label_lookup.py
LabelLookup class docstring updated from "SensorTSLM samples" to "TimeCap samples".
SPDX Copyright Headers
.github/workflows/static-analysis.yml, CONTRIBUTORS.md, aggregators.py, annotator.py, captionizer.py, detectors/*, evaluation/**, explorer.py, exporters/*, extractors/*, mhc/**, mhc_weekly/**, models/**, reviewer.py, scripts/*.py, synthesizers/**, time_series_datasets/**, timef/**, transformer.py, util.py, visualizer.py
All remaining files updated to reference "TimeCap open-source project" instead of "SensorTSLM" in SPDX-FileCopyrightText headers. Attributes and copyright year (2026) remain unchanged.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • StanfordBDHG/SensorTSLM#55: Adds evaluation pipeline code to the same evaluation package files (evaluation/init.py, evaluation/evaluator.py) that are renamed in this PR.

Suggested reviewers

  • ThomasKaar
  • RealLast
  • milanagm
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title 'Rename SensorTSLM to TimeCap' is a short, clear, and specific statement that directly summarizes the primary change in the changeset—a rebranding effort that affects SPDX headers, README files, docstrings, and configuration references throughout the codebase.
Description check ✅ Passed The pull request description provides relevant context for the changeset, explaining that this is a pure text rename affecting SPDX headers, README, docstrings, argparse descriptions, and helper scripts, with no code logic changes. It includes testing confirmation and contributor compliance statements.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch max-rosenblattl/rename-to-timecap
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch max-rosenblattl/rename-to-timecap

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
exporters/lean.py (1)

37-37: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update metadata key to reflect project rename.

The schema metadata key was not updated during the SensorTSLM → TimeCap rename. The key "sensortslm.schema_version" should be changed to "timecap.schema_version" (or similar, consistent with the new project identity) to match the comprehensive rename documented in commit d259efe.

While no code readers depend on this metadata key internally, the naming inconsistency creates a mismatch between the project identity (TimeCap) and the schema metadata it writes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@exporters/lean.py` at line 37, Update the metadata key used for schema
version so it matches the project rename from SensorTSLM to TimeCap: replace the
string key "sensortslm.schema_version" with "timecap.schema_version" wherever
it’s set (e.g., the dict literal in exporters/lean.py that assigns
SCHEMA_VERSION) so the exported metadata uses the new project identity
consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@annotator.py`:
- Line 3: Replace the malformed SPDX line that currently reads
"SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap
open-source project." with a normal Python comment containing the
project/branding text, and if an SPDX copyright notice is required add a proper
SPDX field only for copyright (e.g., SPDX-FileCopyrightText with an actual
copyright holder/year) — update the annotator.py header to remove branding from
the SPDX token and move it to a plain comment while ensuring any real SPDX
metadata fields contain only valid copyright statements.

In `@synthesizers/locomotion.py`:
- Line 3: Replace the SPDX-style attribution comment "SPDX-FileCopyrightText:
2026 This source file is part of the TimeCap open-source project." with a plain
comment (no SPDX tag) containing the project attribution text so SPDX tooling
won't mis-parse it; locate the top-of-file comment in synthesizers/locomotion.py
and change the SPDX-FileCopyrightText token to a normal comment line (e.g.,
start with # and remove "SPDX-"), leaving any real SPDX metadata tags untouched
elsewhere.

---

Outside diff comments:
In `@exporters/lean.py`:
- Line 37: Update the metadata key used for schema version so it matches the
project rename from SensorTSLM to TimeCap: replace the string key
"sensortslm.schema_version" with "timecap.schema_version" wherever it’s set
(e.g., the dict literal in exporters/lean.py that assigns SCHEMA_VERSION) so the
exported metadata uses the new project identity consistently.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1851c7a3-9104-42e1-a83b-225886821bae

📥 Commits

Reviewing files that changed from the base of the PR and between a276c8e and d259efe.

📒 Files selected for processing (70)
  • .github/workflows/static-analysis.yml
  • CONTRIBUTORS.md
  • README.md
  • aggregators.py
  • annotator.py
  • captionizer.py
  • curriculum_learning.py
  • detectors/__init__.py
  • detectors/spike.py
  • detectors/trend.py
  • evaluation/README.md
  • evaluation/__init__.py
  • evaluation/evaluator.py
  • evaluation/io/__init__.py
  • evaluation/io/writer.py
  • evaluation/metrics/__init__.py
  • evaluation/metrics/classification.py
  • evaluation/run_eval.py
  • evaluation/tasks/__init__.py
  • evaluation/tasks/base.py
  • evaluation/tasks/metabolic.py
  • explorer.py
  • exporters/lean.py
  • extractors/__init__.py
  • extractors/cross_channel.py
  • extractors/generative.py
  • extractors/semantic.py
  • extractors/statistical.py
  • extractors/structural.py
  • mhc/__init__.py
  • mhc/constants.py
  • mhc/cross_channel.py
  • mhc/dataset.py
  • mhc/transformer.py
  • mhc_weekly/__init__.py
  • mhc_weekly/constants.py
  • mhc_weekly/dataset.py
  • mhc_weekly/transformer.py
  • models/__init__.py
  • models/base.py
  • models/client.py
  • models/local.py
  • models/opentslm_native.py
  • reviewer.py
  • scripts/export_captions.py
  • scripts/export_captions_sharded.sh
  • scripts/metabolic_finetune.py
  • scripts/sherlock_setup.sh
  • synthesizers/__init__.py
  • synthesizers/_base.py
  • synthesizers/_helper.py
  • synthesizers/_workout.py
  • synthesizers/cardio.py
  • synthesizers/locomotion.py
  • synthesizers/mind_body.py
  • synthesizers/other_activity.py
  • synthesizers/sleep.py
  • synthesizers/stationary_activity.py
  • time_series_datasets/__init__.py
  • time_series_datasets/joint_qa_dataset.py
  • time_series_datasets/mhc_base_qa_dataset.py
  • time_series_datasets/mhc_caption_qa_dataset.py
  • time_series_datasets/mhc_label_lookup.py
  • time_series_datasets/mhc_metabolic_qa_dataset.py
  • time_series_datasets/mhc_multi_label_qa_dataset.py
  • timef/__init__.py
  • timef/schema.py
  • transformer.py
  • util.py
  • visualizer.py

Comment thread annotator.py
#
# SPDX-FileCopyrightText: 2026 Stanford University, ETH Zurich, and the project authors (see CONTRIBUTORS.md)
# SPDX-FileCopyrightText: 2026 This source file is part of the SensorTSLM open-source project.
# SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap open-source project.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use a normal comment here; this is a malformed SPDX copyright field.

Line 3 currently encodes project-branding text as SPDX-FileCopyrightText, which is not a copyright notice and may fail SPDX/license scanning. Keep SPDX fields for actual copyright statements and move branding text to a plain comment.

Suggested fix
-# SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap open-source project.
+# This source file is part of the TimeCap open-source project.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap open-source project.
# This source file is part of the TimeCap open-source project.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@annotator.py` at line 3, Replace the malformed SPDX line that currently reads
"SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap
open-source project." with a normal Python comment containing the
project/branding text, and if an SPDX copyright notice is required add a proper
SPDX field only for copyright (e.g., SPDX-FileCopyrightText with an actual
copyright holder/year) — update the annotator.py header to remove branding from
the SPDX token and move it to a plain comment while ensuring any real SPDX
metadata fields contain only valid copyright statements.

#
# SPDX-FileCopyrightText: 2026 Stanford University, ETH Zurich, and the project authors (see CONTRIBUTORS.md)
# SPDX-FileCopyrightText: 2026 This source file is part of the SensorTSLM open-source project.
# SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap open-source project.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use a non-SPDX comment for project attribution text

Line 3 uses SPDX-FileCopyrightText for a project-branding sentence, which is not a copyright notice and may break SPDX/compliance tooling parsing. Keep SPDX tags only for SPDX-defined metadata.

Proposed fix
-# SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap open-source project.
+# This source file is part of the TimeCap open-source project.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap open-source project.
# This source file is part of the TimeCap open-source project.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@synthesizers/locomotion.py` at line 3, Replace the SPDX-style attribution
comment "SPDX-FileCopyrightText: 2026 This source file is part of the TimeCap
open-source project." with a plain comment (no SPDX tag) containing the project
attribution text so SPDX tooling won't mis-parse it; locate the top-of-file
comment in synthesizers/locomotion.py and change the SPDX-FileCopyrightText
token to a normal comment line (e.g., start with # and remove "SPDX-"), leaving
any real SPDX metadata tags untouched elsewhere.

@max-rosenblattl
Copy link
Copy Markdown
Collaborator Author

Superseded — recreating off latest main for a cleaner diff.

@max-rosenblattl max-rosenblattl deleted the max-rosenblattl/rename-to-timecap branch May 5, 2026 08:30
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