Skip to content

V0.4.2/git story telling rename#15

Merged
gimlichael merged 10 commits intomainfrom
v0.4.2/git-story-telling-rename
May 5, 2026
Merged

V0.4.2/git story telling rename#15
gimlichael merged 10 commits intomainfrom
v0.4.2/git-story-telling-rename

Conversation

@gimlichael
Copy link
Copy Markdown
Member

This pull request implements a comprehensive rename and terminology update for the git-story-teller skill, which is now called git-repo-digest. The changes affect documentation, skill descriptors, installation instructions, and the core narrative throughout the project. Additionally, the update clarifies and improves how context chunk labeling and test project discovery work, aligning with Codebelt conventions and making context navigation more meaningful and deterministic.

Key changes include:

Skill and Terminology Rename:

  • Renamed the skill from git-story-teller to git-repo-digest across all references, including documentation, installation examples, file names (e.g., runner script renamed from scripts/story.cs to scripts/digest.cs), and terminology within SKILL.md, README.md, and the changelog. [1] [2] [3] [4] [5] [6]

Documentation and README Updates:

  • Updated all descriptions, usage examples, and workflow explanations to use "digest"/"repo-digest" instead of "story"/"storyteller", and clarified the purpose and benefits of the renamed skill. [1] [2] [3] [4]
  • Revised installation instructions and skill tables to reference the new skill name and narrative. [1] [2] [3]

Context Index and Chunk Labeling Improvements:

  • Added deterministic context index chunk label inference, replacing generic placeholders with meaningful labels (e.g., Source Code, Test Coverage, NuGet Documentation, Project Metadata, Documentation) based on packed file paths. Implemented supporting methods in the runner script. [1] [2]

Test Project Discovery and Ownership:

  • Clarified test project discovery to follow Codebelt conventions: source projects from src/, owned tests from test/, and specific suffix patterns, avoiding ambiguous or overly broad test assignments. Updated documentation to reflect this strategy. [1] [2] [3]

Changelog and Evaluation Contracts:

  • Updated the changelog and evaluation contracts to reflect the rename, deterministic chunk labeling, and digest-focused workflows. Added new evaluation criteria to ensure chunk label assignment is validated. [1] [2]

These changes make the skill's purpose clearer, improve context navigation for agents, and align the project with Codebelt's deterministic and maintainable conventions.

aicia-bot added 10 commits May 4, 2026 22:39
- Context indexes now list real Markdown headings where available
- Headingless packed-content chunks get inferred labels: Source Code, Test Coverage, NuGet Documentation, Project Metadata
- Added eval 12 to validate deterministic label assignment per chunk content
- Agents can navigate large evidence sets with stable, meaningful chunk descriptions
…xt chunks

- Replace (none) placeholders with inferred labels based on packed file paths
- BuildInferredChunkHeading() analyzes file composition to assign: Source Code, Test Coverage, NuGet Documentation, Project Metadata, Documentation, Repository Metadata
- ClassifyPackedFilePath() maps files to categories: test/, src/, .nuget/, README.md, Directory.Build.*, .csproj
- Enables agents to navigate large context chunks with meaningful, deterministic descriptions
- Added three new Changed bullets detailing context index chunk label inference
- Documents replacement of (none) placeholders with deterministic labels
- References new BuildInferredChunkHeading() and ClassifyPickedFilePath() implementation
- Notes eval 12 coverage for chunk label assignment validation
- Maintains 0.4.2 accumulated feature narrative with today's date (2026-05-05)
…-path labels

- Updated skill table description to reference Contents column combining headings and labels
- Refined SKILL.md documentation: context indexes list markdown headings plus packed-path labels in Contents
- Updated eval 12: test Contents column combining both heading types, no ellipsis truncation
- Clarified that chunks can include both real headings and inferred labels in same semicolon-delimited cell
… and packed-path labels

- Renamed Headings column to Contents in context index table
- Refactored BuildInferredChunkHeading() → BuildChunkContents() to combine both sources
- Implemented ExtractInferredChunkLabels() generator yielding all path-derived categories
- Removed ellipsis truncation (...) from Contents cell to show complete label list
- Contents cell uses semicolon-delimited format for all entries: headings first, then labels
@gimlichael gimlichael self-assigned this May 4, 2026
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 4, 2026

Greptile Summary

This PR renames the git-story-teller skill to git-repo-digest across all files (SKILL.md, README, scripts, evals, CHANGELOG), tightens test project discovery to Codebelt conventions (test/ root only, .Tests/.FunctionalTests suffixes only), and adds deterministic chunk label inference to the context index (Source Code, Test Coverage, NuGet Documentation, Project Metadata, Documentation, Repository Metadata, and a Packed Content fallback). The rename is internally consistent and the backward-compatibility alias (targets alongside packages in the manifest) is a considerate touch.

Confidence Score: 4/5

Safe to merge; changes are a well-structured rename with intentional convention narrowing and no logic regressions.

No P0 or P1 findings. Two P2 observations: incomplete chunk label taxonomy in SKILL.md and a silently dropped plural Tests.cs heuristic in IsProbablyTestFile. Both are low-risk under Codebelt conventions.

skills/git-repo-digest/SKILL.md (label documentation gap) and skills/git-repo-digest/scripts/digest.cs (IsProbablyTestFile narrowing)

Important Files Changed

Filename Overview
CHANGELOG.md Release date bumped from 2026-05-04 to 2026-05-05 and changelog entries updated to reflect rename and new features
README.md All references to git-story-teller replaced with git-repo-digest across skill table, install examples, and "Why" section
skills/git-repo-digest/SKILL.md Comprehensive rename from story/target to digest/package; chunk label taxonomy in the critical section lists only 4 labels but code can emit 2 additional ones ("Documentation" and "Repository Metadata")
skills/git-repo-digest/scripts/digest.cs Renamed from story.cs; adds deterministic chunk label inference, narrows test discovery to Codebelt conventions (test/ only, .Tests/.FunctionalTests suffixes only), backward-compat targets alias in manifest
skills/git-repo-digest/evals/evals.json New file with 12 evals covering digest workflow, grounding rules, chunk label inference (eval 12), and Codebelt test discovery (eval 11)
skills/git-story-teller/evals/evals.json Deleted as part of skill rename; replaced by skills/git-repo-digest/evals/evals.json

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["digest.cs runner\n(dotnet run --file)"] --> B["ParseOptions\n--repo-url / --output-root"]
    B --> C["CloneRepositoryAsync\ngit clone --depth 1"]
    C --> D["DiscoverPackages\nsrc/ only"]
    D --> E["FindTestDirectory\ntest/ only\n.Tests / .FunctionalTests"]
    E --> F["BuildPackageContextAsync\nper package"]
    F --> G["WriteContextArtifactsAsync\n*.context.md"]
    G --> H["BuildContextIndex\n+ BuildChunkContents"]
    H --> H1["ExtractHeadings"]
    H --> H2["ExtractInferredChunkLabels\nClassifyPackedFilePath"]
    H1 --> H3["Distinct + Join → Contents"]
    H2 --> H3
    H3 --> I["*.context.index.md\n*.context.chunks/*.md"]
    F --> J["BuildOverviewContextAsync\nREADME + src/**/*.csproj\n+ test/**/*.csproj"]
    J --> K["overview.context.md"]
    G --> L["WriteManifestAsync\nmanifest.json\npackages + targets alias"]
    K --> L
    L --> M["Agent reads manifest\n→ writes result/{PackageName}.md\n→ writes result/Index.md"]
Loading

Comments Outside Diff (1)

  1. skills/git-repo-digest/scripts/digest.cs, line 1057-1065 (link)

    P2 IsProbablyTestFile silently drops the plural Tests.cs suffix

    The old code matched EndsWith("Tests.cs") (e.g. FooTests.cs), the most common xUnit file-naming convention. The new code only matches EndsWith("Test.cs") (singular) and EndsWith("FunctionalTest.cs"). Files named FooTests.cs outside a recognised test/ root, .Tests/, or .FunctionalTests/ directory segment won't be classified as test files.

    Under Codebelt conventions this is intentional — all owned test files live under test/ and are caught by the StartsWith("test/") check. However, since the function is named IsProbablyTestFile (a heuristic), a short comment explaining the deliberate narrowing would prevent future maintainers from re-adding the broader suffix list.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: skills/git-repo-digest/scripts/digest.cs
    Line: 1057-1065
    
    Comment:
    **`IsProbablyTestFile` silently drops the plural `Tests.cs` suffix**
    
    The old code matched `EndsWith("Tests.cs")` (e.g. `FooTests.cs`), the most common xUnit file-naming convention. The new code only matches `EndsWith("Test.cs")` (singular) and `EndsWith("FunctionalTest.cs")`. Files named `FooTests.cs` outside a recognised `test/` root, `.Tests/`, or `.FunctionalTests/` directory segment won't be classified as test files.
    
    Under Codebelt conventions this is intentional — all owned test files live under `test/` and are caught by the `StartsWith("test/")` check. However, since the function is named `IsProbablyTestFile` (a heuristic), a short comment explaining the deliberate narrowing would prevent future maintainers from re-adding the broader suffix list.
    
    How can I resolve this? If you propose a fix, please make it concise.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
skills/git-repo-digest/SKILL.md:157
**Chunk label taxonomy is incomplete**

The critical section lists `Source Code`, `Test Coverage`, `NuGet Documentation`, and `Project Metadata` as the stable packed-path labels, but `ClassifyPackedFilePath` in `digest.cs` can also emit `Documentation` (for root-level `README.md` files) and `Repository Metadata` (the catch-all for any path that doesn't match other patterns). Agents reading SKILL.md to understand the `Contents` column won't be told about these two additional labels. The eval contract (eval 12) does mention `Documentation`, but neither the eval nor SKILL.md documents `Repository Metadata`.

Suggest extending the "such as" list to include all six possible labels so the documentation matches what the index can actually contain.

### Issue 2 of 2
skills/git-repo-digest/scripts/digest.cs:1057-1065
**`IsProbablyTestFile` silently drops the plural `Tests.cs` suffix**

The old code matched `EndsWith("Tests.cs")` (e.g. `FooTests.cs`), the most common xUnit file-naming convention. The new code only matches `EndsWith("Test.cs")` (singular) and `EndsWith("FunctionalTest.cs")`. Files named `FooTests.cs` outside a recognised `test/` root, `.Tests/`, or `.FunctionalTests/` directory segment won't be classified as test files.

Under Codebelt conventions this is intentional — all owned test files live under `test/` and are caught by the `StartsWith("test/")` check. However, since the function is named `IsProbablyTestFile` (a heuristic), a short comment explaining the deliberate narrowing would prevent future maintainers from re-adding the broader suffix list.

Reviews (1): Last reviewed commit: "🔧 implement context index Contents colu..." | Re-trigger Greptile


For each target in the first phase:
For each package in the first phase:

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 Chunk label taxonomy is incomplete

The critical section lists Source Code, Test Coverage, NuGet Documentation, and Project Metadata as the stable packed-path labels, but ClassifyPackedFilePath in digest.cs can also emit Documentation (for root-level README.md files) and Repository Metadata (the catch-all for any path that doesn't match other patterns). Agents reading SKILL.md to understand the Contents column won't be told about these two additional labels. The eval contract (eval 12) does mention Documentation, but neither the eval nor SKILL.md documents Repository Metadata.

Suggest extending the "such as" list to include all six possible labels so the documentation matches what the index can actually contain.

Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/git-repo-digest/SKILL.md
Line: 157

Comment:
**Chunk label taxonomy is incomplete**

The critical section lists `Source Code`, `Test Coverage`, `NuGet Documentation`, and `Project Metadata` as the stable packed-path labels, but `ClassifyPackedFilePath` in `digest.cs` can also emit `Documentation` (for root-level `README.md` files) and `Repository Metadata` (the catch-all for any path that doesn't match other patterns). Agents reading SKILL.md to understand the `Contents` column won't be told about these two additional labels. The eval contract (eval 12) does mention `Documentation`, but neither the eval nor SKILL.md documents `Repository Metadata`.

Suggest extending the "such as" list to include all six possible labels so the documentation matches what the index can actually contain.

How can I resolve this? If you propose a fix, please make it concise.

@gimlichael gimlichael merged commit 4259ca1 into main May 5, 2026
1 check passed
@gimlichael gimlichael deleted the v0.4.2/git-story-telling-rename branch May 5, 2026 00:14
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.

2 participants