Skip to content

[codex] Add KB timeline operations and artifact publishing - #23

Merged
kmosoti merged 1 commit into
mainfrom
kb-ops-timeline-pages
Jun 7, 2026
Merged

[codex] Add KB timeline operations and artifact publishing#23
kmosoti merged 1 commit into
mainfrom
kb-ops-timeline-pages

Conversation

@kmosoti

@kmosoti kmosoti commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add tea-kb touch <node-id> to update a node's updated: frontmatter date without editing other metadata.
  • Add tea-kb timeline [concept] and tea-kb viz concept <concept> for timeline inspection and concept-specific SVG regeneration.
  • Add PR stale-date validation through tea-kb validate --check-updated-since so changed source notes cannot keep stale timeline metadata.
  • Add a generated graph/generated/index.html, CI artifact upload, and a GitHub Pages workflow for browsing generated graph artifacts.

Validation

  • uv run ruff check
  • uv run ruff format --check
  • uv run pyright
  • uv run pytest
  • uv run tea-kb validate
  • uv run tea-kb validate --check-updated-since origin/main --strict
  • uv run tea-kb build --check

@kmosoti
kmosoti marked this pull request as ready for review June 7, 2026 10:08
@kmosoti
kmosoti merged commit 44a4c3b into main Jun 7, 2026
1 check passed

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 673aadadcb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/tea_kb/cli/app.py


def _concept_argument(value: str) -> ConceptId:
return ConceptId(slugify(value.removeprefix("concept:")))

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Do not slugify concept filters before matching

For concepts that contain spaces or other punctuation (for example the repository already allows frontmatter concepts such as agent editing), this helper converts the user input to agent-editing, but events_for_concept() checks exact membership against event.concepts, which are populated directly from frontmatter. As a result tea-kb timeline "agent editing" and tea-kb viz concept "agent editing" produce empty timelines even though matching events exist.

Useful? React with 👍 / 👎.



def _concept_slug(concept: object) -> str:
return str(concept).removeprefix("concept:").replace(":", "-")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Use the SVG slug rules for site index links

When a major concept contains spaces or punctuation, these links no longer match the files generated by concept_timeline_svg_artifacts(): the SVG renderer slugifies with slugify() in src/tea_kb/viz/svg.py, while this helper only replaces colons. A concept like agent editing would generate concept-timeline-agent-editing-light.svg, but the site index links to concept-timeline-agent editing-light.svg, leaving broken links in the published graph browser.

Useful? React with 👍 / 👎.

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