Skip to content

Consolidate local state under one ignored local/ root - #22

Merged
RasulOs merged 3 commits into
mainfrom
feat/consolidate-local-state
Sep 8, 2026
Merged

RasulOs merged 3 commits into
mainfrom
feat/consolidate-local-state

Conversation

@shreymittal1000

@shreymittal1000 shreymittal1000 commented Sep 7, 2026

Copy link
Copy Markdown

First of the smaller PRs replacing #15. This one does only the thing you asked
for four separate times there: one ignored root instead of several.

Change

memory/ and credentials/ were two separate gitignored roots, and a user's
own or overriding app card had nowhere to live. Both move under local/, and
local/apps/ is added.

  • memory/local/memory/, credentials/local/credentials/, carrying
    the tracked README/TEMPLATE stubs across.
  • One .gitignore block replaces two.
  • Every path reference retargeted: AGENTS.md, README.md, UPDATE.md,
    install.md, apps/index.md, both core/ guides, both platform guides.

14 files, +91/−36.

Migration note for whoever merges this

Not shipped in the repo, per review — recording it here instead. Anyone with an
existing clone has content at the old root paths, and this PR stops ignoring
them, so it shows up as untracked after the pull. Move it across once:

cp -an memory/. local/memory/ && cp -an credentials/. local/credentials/

Then delete the originals. Worth a line in the release note, because
credentials/ is the one where an accidental git add -A matters.

The one net-new thing

local/apps/<platform>/<app-id>/CARD.md is read after the shipped card at the
same path and wins where they disagree, or is the only card, which is where
private and internal apps live. Cards are found by path rather than through a
registry, so a local card needs no apps/index.md entry.

It is here because without it this PR is a rename with no gain — the overlay is
the reason to have local/ at all rather than just renaming two folders. If
you would rather judge it separately, say so and I will strip it to the move
alone; nothing else in the PR depends on it.

Verification

In two clones off a shared remote, with the user clone holding a card override,
a private-only card, local/memory/, and local/credentials/:

  • upstream edited the same card the user had overridden, plus AGENTS.md
    git pull --ff-only fast-forwarded, exit 0, git status empty before and
    after, all four private files intact, shipped card updated.
  • after the review changes: core/memory/new-guide.md and
    core/credentials/new-guide.md are addable, local/ content is still
    ignored, and the four tracked stubs are still tracked.
  • negative control: deleting the local/** rule exposes the content, so the
    rule is load-bearing rather than incidentally true.

Deliberately not here

mobile-ux-primitives, debugging/blockers, learn-from-tutorial, and the
curator are all left out. learn-from-tutorial and the curator I am dropping
per your review. The other two need answers to questions you raised — the
per-screen read cost, and the blockers vs recovery overlap — so they should
be their own PRs where that is the discussion.

Branch is feat/-named per your note on #15, and based on current main
(7d7ab48), not the old branch.

Shrey and others added 2 commits September 7, 2026 11:30
`memory/` and `credentials/` were two separate gitignored roots, and a user's
own or overriding app card had nowhere to live at all. Move both under
`local/` and add `local/apps/`, so one ignored root holds everything the user
or the agent owns and the session-start `git pull --ff-only` can never conflict
with it.

- `memory/` -> `local/memory/`, `credentials/` -> `local/credentials/`,
  carrying the tracked README/TEMPLATE stubs across.
- `local/apps/<platform>/<app-id>/CARD.md` is read after the shipped card at
  the same path and wins where they disagree; it may also be the only card,
  which is where private and internal apps live. Cards are found by path, not
  a registry, so a local card needs no `apps/index.md` entry.
- One `.gitignore` block replaces two. The pre-consolidation `memory/` and
  `credentials/` paths stay ignored so upgrading cannot expose or commit
  content that has not been moved yet.
- Retarget every path reference: `AGENTS.md`, `README.md`, `UPDATE.md`,
  `install.md`, `apps/index.md`, both `core/` guides, both platform guides.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The loading model lists every file `AGENTS.md` routes to. The user's own card
was missing from it, so add the one precedence rule and nothing else.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@shreymittal1000
shreymittal1000 force-pushed the feat/consolidate-local-state branch from 38f9af4 to 5f8c364 Compare September 7, 2026 12:32
Comment thread local/README.md Outdated
```

Both root paths stay git-ignored until you remove them, so an upgrade cannot
expose content you have not moved yet.

@RasulOs RasulOs Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Remove the whole migrating part

Comment thread .gitignore Outdated
!credentials/TEMPLATE.md
# Pre-consolidation paths, kept ignored so upgrading cannot expose or commit
# existing content. Safe to drop once you have moved them under local/.
memory/

@RasulOs RasulOs Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Finish migration into local in this PR. A feature per PR

@RasulOs

RasulOs commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-07T13:23:40.418323Z 5f8c364 Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: 5f8c364b1c

ℹ️ 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 .gitignore Outdated
Review: finish the migration in this PR rather than shipping a transition
path alongside it.

- Remove the `## Migrating` section from `local/README.md`.
- Remove the pre-consolidation `memory/` and `credentials/` ignore lines.

Removing those two lines also fixes a real bug they introduced rather than
merely anchoring it. `memory/` and `credentials/` have no leading slash, so
they matched a directory of that name at any depth — including the live
`core/memory/` and `core/credentials/` trees. Any new file added under either
would have been silently unaddable. Verified: `core/memory/new-guide.md` and
`core/credentials/new-guide.md` are now addable, `local/` content is still
ignored, and the four tracked stubs are still tracked.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@RasulOs

RasulOs commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Is it ready for review?

Copy link
Copy Markdown
Author

I'd say so yes

@RasulOs
RasulOs merged commit e0e7310 into main Sep 8, 2026
@RasulOs
RasulOs deleted the feat/consolidate-local-state branch September 8, 2026 12:18
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