Repository navigation
fix: reach the phase with the catalog notice - #5
Merged
Merged
Conversation
The exploration prompt promises that the round's own facts say whether any history exists, and under which categories. Nothing carried that fact, and the module could not load at all: experience_catalog.py imported ExperienceCatalogNotice from core.models, which never defined it, so every collection that touched the catalog ended in ImportError. - list_experiences takes an optional category, and a page lists every card when none is given: the three categories say what a card is about, not who may read it. - each catalog entry names its own category, so a cross-category page is self-describing. - core.models gains ExperienceCatalogNotice, AgentContext carries it, and the phase message renders it. Only the pointer travels -- a count and the categories; names and bodies stay behind list_experiences and read_experience, so browsing remains the phase's own decision. Verified with the phase-message test (the notice present, card text absent) and the experience suites: 88 passed, 1 skipped. Co-Authored-By: Claude Code <noreply@anthropic.com>
The page now names each entry's category, so the key set the unit test pinned had to grow by one, and the unfiltered page -- the whole point of the change -- had no unit-level test at all: it was only covered through the SDK integration test. Co-Authored-By: Claude Code <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The exploration prompt already promised that "the round's own facts say whether any
history exists, and under which categories". Nothing carried that fact, and the module
could not load at all:
experience_catalog.pyimportedExperienceCatalogNoticefromcore.models, which never defined it.The pointer now reaches the phase
list_experiencestakes an optional category, and a page lists every card when none isgiven: the three categories say what a card is about, not who may read it. Requiring a
guess made the category a gate -- a phase that asked about
workflowwhile the libraryheld one
frameworkcard was told the library was empty.core.modelsgainsExperienceCatalogNotice,AgentContextcarries it, and the phasemessage renders it. Only the pointer travels -- a count and the categories. Names and
bodies stay behind
list_experiencesandread_experience, so browsing remains thephase's own decision.
Verified
environment gaps -- no ripgrep, no Windows symlink privilege).
pytest-8906: with a one-card library the phase message carries"experience_catalog":{"categories":["framework"],"count":1}; with experience off thefield is absent. Neither run leaks the card's name or description.
🤖 Generated with Claude Code