gator-command 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. gator_command/__init__.py +2 -0
  2. gator_command/cli.py +137 -0
  3. gator_command/scripts/crawler.py +633 -0
  4. gator_command/scripts/dashboard/dashboard.css +982 -0
  5. gator_command/scripts/dashboard/dashboard.html +84 -0
  6. gator_command/scripts/dashboard/dashboard.js +419 -0
  7. gator_command/scripts/dashboard/views/audit.js +270 -0
  8. gator_command/scripts/dashboard/views/fleet.js +307 -0
  9. gator_command/scripts/dashboard/views/repo.js +599 -0
  10. gator_command/scripts/dashboard/views/settings.js +173 -0
  11. gator_command/scripts/dashboard/views/updates.js +308 -0
  12. gator_command/scripts/enforcer-prompt.md +22 -0
  13. gator_command/scripts/extract-claude-sessions.py +489 -0
  14. gator_command/scripts/extract-codex-sessions.py +477 -0
  15. gator_command/scripts/extract-gemini-sessions.py +410 -0
  16. gator_command/scripts/gator-audit.py +956 -0
  17. gator_command/scripts/gator-charter-draft.py +919 -0
  18. gator_command/scripts/gator-charter-lint.py +427 -0
  19. gator_command/scripts/gator-charter-verify.py +606 -0
  20. gator_command/scripts/gator-dashboard.py +1271 -0
  21. gator_command/scripts/gator-deploy.py +916 -0
  22. gator_command/scripts/gator-drift.py +569 -0
  23. gator_command/scripts/gator-enforce.py +82 -0
  24. gator_command/scripts/gator-fleet-intel.py +460 -0
  25. gator_command/scripts/gator-fleet-report.py +615 -0
  26. gator_command/scripts/gator-init-command-post.py +315 -0
  27. gator_command/scripts/gator-init.py +434 -0
  28. gator_command/scripts/gator-machine-id.py +153 -0
  29. gator_command/scripts/gator-policy-status.py +631 -0
  30. gator_command/scripts/gator-pulse.py +459 -0
  31. gator_command/scripts/gator-repo-status.py +649 -0
  32. gator_command/scripts/gator-session-common.py +372 -0
  33. gator_command/scripts/gator-session-sink.py +831 -0
  34. gator_command/scripts/gator-sessions.py +1244 -0
  35. gator_command/scripts/gator-update.py +615 -0
  36. gator_command/scripts/gator-version.py +38 -0
  37. gator_command/scripts/gator_core.py +489 -0
  38. gator_command/scripts/gator_remote.py +381 -0
  39. gator_command/scripts/gator_runtime.py +142 -0
  40. gator_command/scripts/gatorize-actions.sh +989 -0
  41. gator_command/scripts/gatorize-lib.sh +166 -0
  42. gator_command/scripts/gatorize-post.sh +394 -0
  43. gator_command/scripts/gatorize.py +1163 -0
  44. gator_command/scripts/gatorize.sh +185 -0
  45. gator_command/scripts/generate_markdown.py +212 -0
  46. gator_command/scripts/generate_wiki.py +424 -0
  47. gator_command/scripts/graph_health.py +780 -0
  48. gator_command/scripts/memex-lint.py +286 -0
  49. gator_command/scripts/memex-lint.sh +205 -0
  50. gator_command/scripts/memex.py +1472 -0
  51. gator_command/scripts/memex_formatters.py +191 -0
  52. gator_command/scripts/memex_state.py +236 -0
  53. gator_command/scripts/spawn.py +650 -0
  54. gator_command/templates/gator-starter/blueprints/README.md +32 -0
  55. gator_command/templates/gator-starter/charterignore +53 -0
  56. gator_command/templates/gator-starter/charters/README.md +178 -0
  57. gator_command/templates/gator-starter/charters/_template.md +31 -0
  58. gator_command/templates/gator-starter/commands/commit.md +33 -0
  59. gator_command/templates/gator-starter/commands/init.md +11 -0
  60. gator_command/templates/gator-starter/commands/update.md +5 -0
  61. gator_command/templates/gator-starter/constitution.md +165 -0
  62. gator_command/templates/gator-starter/field-guides/README.md +25 -0
  63. gator_command/templates/gator-starter/gator-start-up.md +119 -0
  64. gator_command/templates/gator-starter/procedures/charter-alignment.md +83 -0
  65. gator_command/templates/gator-starter/procedures/enforcer-review.md +317 -0
  66. gator_command/templates/gator-starter/procedures/field-guide-generation.md +176 -0
  67. gator_command/templates/gator-starter/procedures/knowledge-capture.md +57 -0
  68. gator_command/templates/gator-starter/procedures/significance-check.md +69 -0
  69. gator_command/templates/gator-starter/reference-notes/concierge-responses.md +535 -0
  70. gator_command/templates/gator-starter/reference-notes/dangerous-patterns.md +91 -0
  71. gator_command/templates/gator-starter/reference-notes/dashboard-operations.md +22 -0
  72. gator_command/templates/gator-starter/reference-notes/enforcer-configuration.md +232 -0
  73. gator_command/templates/gator-starter/reference-notes/example-project.md +289 -0
  74. gator_command/templates/gator-starter/reference-notes/failure-modes-and-self-correction.md +72 -0
  75. gator_command/templates/gator-starter/reference-notes/git-workflow.md +60 -0
  76. gator_command/templates/gator-starter/reference-notes/identity-and-ownership.md +37 -0
  77. gator_command/templates/gator-starter/reference-notes/refactor-approach.md +155 -0
  78. gator_command/templates/gator-starter/reference-notes/what-gator-requires-from-a-model.md +108 -0
  79. gator_command/templates/gator-starter/reference-notes/why-navigation-coding-feels-different.md +99 -0
  80. gator_command/templates/gator-starter/reference-notes/workflow-profiles.md +155 -0
  81. gator_command/templates/gator-starter/scripts/__pycache__/enforcer-review.cpython-313.pyc +0 -0
  82. gator_command/templates/gator-starter/scripts/__pycache__/gator-approve.cpython-313.pyc +0 -0
  83. gator_command/templates/gator-starter/scripts/__pycache__/gator-init.cpython-313.pyc +0 -0
  84. gator_command/templates/gator-starter/scripts/__pycache__/gator-pre-commit.cpython-313.pyc +0 -0
  85. gator_command/templates/gator-starter/scripts/__pycache__/gator-update.cpython-313.pyc +0 -0
  86. gator_command/templates/gator-starter/scripts/enforcer-prompt.md +55 -0
  87. gator_command/templates/gator-starter/scripts/enforcer-review.py +1551 -0
  88. gator_command/templates/gator-starter/scripts/gator-approve.py +139 -0
  89. gator_command/templates/gator-starter/scripts/gator-enforce.py +82 -0
  90. gator_command/templates/gator-starter/scripts/gator-init.py +434 -0
  91. gator_command/templates/gator-starter/scripts/gator-pre-commit.py +2670 -0
  92. gator_command/templates/gator-starter/scripts/gator-pulse.py +459 -0
  93. gator_command/templates/gator-starter/scripts/gator-update.py +615 -0
  94. gator_command/templates/gator-starter/scripts/gator-version.py +38 -0
  95. gator_command/templates/gator-starter/scripts/gator_core.py +487 -0
  96. gator_command/templates/gator-starter/scripts/hooks/__pycache__/commit-msgcpython-313.pyc +0 -0
  97. gator_command/templates/gator-starter/scripts/hooks/__pycache__/post-commitcpython-313.pyc +0 -0
  98. gator_command/templates/gator-starter/scripts/hooks/__pycache__/pre-commitcpython-313.pyc +0 -0
  99. gator_command/templates/gator-starter/scripts/hooks/commit-msg +5 -0
  100. gator_command/templates/gator-starter/scripts/hooks/post-commit +7 -0
  101. gator_command/templates/gator-starter/scripts/hooks/pre-commit +5 -0
  102. gator_command/templates/gator-starter/sessions/.gitignore +7 -0
  103. gator_command/templates/gator-starter/vault/.gitkeep +0 -0
  104. gator_command/templates/gator-starter/whiteboard.md +5 -0
  105. gator_command-1.0.0.dist-info/METADATA +122 -0
  106. gator_command-1.0.0.dist-info/RECORD +110 -0
  107. gator_command-1.0.0.dist-info/WHEEL +5 -0
  108. gator_command-1.0.0.dist-info/entry_points.txt +2 -0
  109. gator_command-1.0.0.dist-info/licenses/LICENSE +21 -0
  110. gator_command-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,72 @@
1
+ ---
2
+ last-touched: 2026-05-17
3
+ tags: [governance, charters, failure-modes, navigation-coding]
4
+ ---
5
+
6
+ # Failure Modes and Self-Correction
7
+
8
+ ## Summary
9
+
10
+ A common objection to charters is that a stale charter could become a confidently wrong map. In practice, that is not the dominant failure mode. The more typical pattern is that the charter gives the agent an expectation about the code, and the code immediately confirms or violates that expectation. When the map is even moderately viable, disagreement tends to surface as visible confusion rather than silent corruption.
11
+
12
+ Put differently: the charter is not ground truth. It is a structured hypothesis about the codebase. Its value is twofold:
13
+
14
+ - if the charter and code agree, orientation is faster
15
+ - if the charter and code disagree, the discrepancy becomes visible early
16
+
17
+ This makes charters useful not only as retained memory, but as cross-check surfaces.
18
+
19
+ ## Why This Does Not Behave Like Static Docs
20
+
21
+ Static architecture docs mostly inform. A navigation-coded charter loop does two jobs:
22
+
23
+ - it informs the next change
24
+ - it exposes drift when the documented expectation no longer matches the code
25
+
26
+ That is why the recursive maintenance loop matters so much. The system is not "documentation plus code." It is code, map, and discrepancy detection operating together.
27
+
28
+ ## Typical Failure Pattern
29
+
30
+ The feared pattern is:
31
+
32
+ 1. Charter is stale
33
+ 2. Agent trusts it blindly
34
+ 3. Agent makes bad code changes
35
+ 4. Bad map causes more bad work
36
+
37
+ The empirically more common pattern is:
38
+
39
+ 1. Charter is stale
40
+ 2. Agent reads it and forms an expectation
41
+ 3. The code does not match the expected structure
42
+ 4. The agent stops, asks, or updates the map
43
+
44
+ An example shape is: "the charter says `write_file()` should exist here; where is it?" The mismatch becomes the signal.
45
+
46
+ ## What Makes This Work
47
+
48
+ This self-correcting behavior depends on a few conditions:
49
+
50
+ - the charter is close enough to reality to create useful expectations
51
+ - the agent still reads the code rather than treating the charter as an oracle
52
+ - disagreement is treated as a reason to inspect, not to push through
53
+
54
+ If those conditions hold, both the charter and the code do not need to be perfect. They only need to be different enough that drift is detectable.
55
+
56
+ ## The Better Counterfactual
57
+
58
+ This also answers part of the "why not just write `ARCHITECTURE.md` and module `README`s?" objection.
59
+
60
+ The issue is not only that static docs go stale. It is that they usually do not participate in a loop where:
61
+
62
+ - they are consulted before edits
63
+ - they are updated as part of the same operation
64
+ - their mismatch with code is operationally useful
65
+
66
+ Navigation coding gets much of its value from that loop, not only from having written things down.
67
+
68
+ ## Connections
69
+
70
+ → [What Gator Requires From a Model](what-gator-requires-from-a-model.md) — assumes the agent reads before acting and checks repo artifacts against code
71
+ → [Why Navigation Coding Feels Different](why-navigation-coding-feels-different.md) — explains the friction of resolving ambiguity before coding
72
+ → [Supporting Research](supporting-research.md) — evidence for structured navigation, independent review, and compression
@@ -0,0 +1,60 @@
1
+ # Git Workflow
2
+
3
+ Suggested git process for projects using Gator. Not enforced — adapt to your team and comfort level.
4
+
5
+ ## Two Modes
6
+
7
+ ### Team / Careful Mode
8
+
9
+ For teams, shared repos, or when changes carry risk.
10
+
11
+ ```
12
+ main (stable, deployable)
13
+ └── dev (integration branch)
14
+ ├── feature/add-auth
15
+ ├── feature/refactor-store
16
+ └── fix/query-timeout
17
+ ```
18
+
19
+ 1. **Branch from dev** for each piece of work (`feature/`, `fix/`, `chore/`)
20
+ 2. **Work on the branch** — normal Gator loop (read charters, change code, update charters)
21
+ 3. **PR into dev** — review the diff, check that charters were updated, run enforcer if warranted
22
+ 4. **Test on dev** — integration, smoke tests, whatever the project needs
23
+ 5. **Merge dev to main** — when dev is stable and reviewed. This is the release gate.
24
+
25
+ ### Solo / Streamlined Mode
26
+
27
+ For solo projects or when you're the only one touching the code.
28
+
29
+ ```
30
+ main (stable)
31
+ └── dev (working branch)
32
+ ```
33
+
34
+ 1. **Work on dev** — normal Gator loop
35
+ 2. **When happy, commit to dev**
36
+ 3. **Merge dev to main** — when the work is complete and you're confident
37
+
38
+ No feature branches needed. Dev is your working surface, main is your "known good" state.
39
+
40
+ ## Which Mode?
41
+
42
+ | Situation | Use |
43
+ |-----------|-----|
44
+ | Solo project, one contributor | Streamlined |
45
+ | Team, shared repo | Team mode |
46
+ | Solo but high-stakes (production, public API) | Team mode — the branch discipline protects you |
47
+ | Early prototyping, exploring | Streamlined — don't let process slow discovery |
48
+
49
+ ## How Gator Fits
50
+
51
+ - **Charters update on the working branch**, not on main. They travel with the code.
52
+ - **Enforcer reviews happen before PR or before merge** — the Architect decides when and at what level.
53
+ - **commit_draft.md accumulates on the working branch until commit time** — use it to draft the next commit message or PR context, then clear it immediately after the commit so the next session starts fresh.
54
+ - **Don't branch .gator/ separately from code.** The knowledge layer and the code must stay in sync. If you branch the code, the charters go with it.
55
+
56
+ ## What to Avoid
57
+
58
+ - Don't commit directly to main during active development. Even in solo mode, use dev as a buffer.
59
+ - Don't let feature branches live longer than a few days. Long-lived branches mean charter drift.
60
+ - Don't merge without checking that charters reflect the current code state. The enforcer can catch this, but it's faster to just look.
@@ -0,0 +1,37 @@
1
+ # Identity and Ownership Context
2
+
3
+ ## The Problem
4
+
5
+ When you bootstrap a fresh project, you don't know who you're talking to or how many people share this repo. Getting this wrong early creates friction that compounds:
6
+
7
+ - In a **solo repo**, one person is the Architect. Identity and mission are tightly coupled. You can learn their preferences, role, and context — it all belongs in the same place.
8
+ - In a **team repo**, multiple people share the `.gator/` folder. The project is the stable identity, not any individual. Writing the knowledge layer around one person's perspective alienates everyone else.
9
+
10
+ ## The Rule
11
+
12
+ **Don't assume. Ask.**
13
+
14
+ Before populating `mission.md` or forming a mental model of "who you're working with," establish:
15
+
16
+ 1. **Is this a solo or team repo?** ("Is this your project, or does a team share this repo?")
17
+ 2. **Who is the Architect?** In solo repos, it's obvious. In team repos, there may be one Architect, rotating Architects, or a shared-ownership model.
18
+ 3. **Where does individual context belong?** In solo repos, the `.gator/` folder can hold user-specific notes freely. In team repos, individual preferences and context should stay outside the shared knowledge layer (e.g., in personal config, not in `mission.md`).
19
+
20
+ ## What This Means in Practice
21
+
22
+ **Solo repo**: `mission.md` can reflect the person's goals, style, and priorities directly. Threads and inbox can be informal. The whole `.gator/` folder is theirs.
23
+
24
+ **Team repo**: `mission.md` describes the *project's* goals, not any individual's. Keep it neutral and factual. Individual preferences, roles, and context should not be baked into shared files. If team members need individual context, that lives outside `.gator/` (e.g., in their own editor config or personal notes).
25
+
26
+ ## The Cost of Getting It Wrong
27
+
28
+ If you pin identity to a person in a team repo:
29
+ - Other contributors feel like guests in their own project
30
+ - `mission.md` reads like one person's vision, not the team's
31
+ - Threads and decisions carry implicit bias toward one perspective
32
+
33
+ If you treat a solo repo as a team repo:
34
+ - The knowledge layer feels impersonal and bureaucratic
35
+ - You miss opportunities to tailor the experience to the one person who uses it
36
+
37
+ Neither error is fatal, but both create drag. One question at bootstrap prevents it.
@@ -0,0 +1,155 @@
1
+ # Refactor Approach
2
+
3
+ This note describes how an AI agent should approach significant refactors under Gator.
4
+
5
+ The core idea: **do not "rewrite and hope."** Create a safe track, preserve behavior, extract behind stable seams, verify continuously, and keep the Architect involved in intent and boundary decisions.
6
+
7
+ ## The Default Shape
8
+
9
+ For a non-trivial refactor, the agent should prefer this sequence:
10
+
11
+ 1. Create a dedicated refactor branch from `dev`
12
+ 2. Read the relevant charters and cross-cutting notes first
13
+ 3. Confirm refactor intent and boundaries with the Architect
14
+ 4. Identify stable seams where new modules can be introduced without changing public behavior
15
+ 5. Extract new modules behind the existing call surface
16
+ 6. Add or extend tests while behavior is still stable
17
+ 7. Switch callers over only after the new path works
18
+ 8. Remove old code only after parity is verified
19
+ 9. Update charters to reflect the new ownership map
20
+
21
+ This is a **parallel-track refactor**, not a big-bang rewrite.
22
+
23
+ ## Branch Discipline
24
+
25
+ Significant refactors should happen on a dedicated branch, not directly on `dev`.
26
+
27
+ Suggested names:
28
+
29
+ - `refactor/<area>`
30
+ - `feature/refactor-<area>`
31
+
32
+ Why:
33
+
34
+ - the refactor may take several commits before the code is clearer than it was
35
+ - the Architect needs a visible diff and a reversible checkpoint
36
+ - charter changes during a refactor can be substantial and should be reviewable as a set
37
+
38
+ If the work is high-risk, keep `main` as the known-good state, `dev` as the normal working branch, and the refactor branch as the isolated mutation surface.
39
+
40
+ ## Charter-First Navigation
41
+
42
+ Before changing code, the agent should:
43
+
44
+ - read the module charters for the touched files
45
+ - read `cross-cutting.md` for repo-wide invariants and tripwires
46
+ - identify which functions are stable external surfaces versus internal implementation details
47
+ - identify what the Architect believes the module *should* own after the refactor
48
+
49
+ During refactors, charters serve four jobs:
50
+
51
+ - dependency map
52
+ - invariant checklist
53
+ - cutover checklist
54
+ - final ownership map
55
+
56
+ If the charters are missing or obviously stale, the right move is often to repair the map first, then refactor.
57
+
58
+ ## Architect Checkpoints
59
+
60
+ Refactors need more Architect interaction than ordinary feature work.
61
+
62
+ The agent should explicitly confirm:
63
+
64
+ - the goal of the refactor
65
+ - what behavior must not change
66
+ - whether this is extraction, simplification, decomposition, or redesign
67
+ - whether naming and ownership should change
68
+ - whether compatibility shims are acceptable during transition
69
+
70
+ The agent should not silently reinterpret a refactor as a redesign.
71
+
72
+ Good checkpoint questions:
73
+
74
+ - "Is the goal better structure with behavior preserved, or are we also changing behavior?"
75
+ - "Should this module become thinner and delegate, or still own orchestration?"
76
+ - "Do you want a temporary adapter layer during migration?"
77
+
78
+ ## Preferred Refactor Pattern
79
+
80
+ When possible, prefer:
81
+
82
+ 1. leave the existing entry points in place
83
+ 2. extract new logic into a new module
84
+ 3. call the new module from the old path
85
+ 4. verify behavior with tests
86
+ 5. migrate callers gradually
87
+ 6. delete the old implementation only after parity is established
88
+
89
+ This reduces blast radius and keeps rollback simple.
90
+
91
+ Examples:
92
+
93
+ - extract parsing logic out of a giant CLI script into `*_core.py`
94
+ - move file-system traversal into a helper module while keeping the old command entry point
95
+ - split a mixed "read + transform + render" function into separable pieces behind the same public API
96
+
97
+ ## What To Avoid
98
+
99
+ Avoid these failure modes:
100
+
101
+ - rewriting large files wholesale without stable checkpoints
102
+ - changing public behavior and structure at the same time without Architect signoff
103
+ - moving ownership boundaries without updating charters
104
+ - deleting old code before the new path is tested
105
+ - introducing new abstractions that are not yet called by the existing program
106
+ - mixing refactor work with unrelated feature additions
107
+
108
+ The smell is: **the diff is large, the behavior changed, the ownership moved, and there is no parity proof.**
109
+
110
+ ## Tests During Refactor
111
+
112
+ Tests are part of the extraction path, not a cleanup step afterward.
113
+
114
+ Preferred order:
115
+
116
+ 1. identify current behavior
117
+ 2. capture it with tests where practical
118
+ 3. extract new module
119
+ 4. route old entry point through new module
120
+ 5. extend tests for the new boundary
121
+ 6. remove legacy path only after green verification
122
+
123
+ Where full automated coverage is not available, use:
124
+
125
+ - targeted script invocations
126
+ - golden-file comparisons
127
+ - fixture-based behavior checks
128
+ - before/after command output comparison
129
+
130
+ For AI-assisted refactors, "works on inspection" is not enough.
131
+
132
+ ## Charter Updates During Refactor
133
+
134
+ Refactors often create temporary asymmetry between code and charters. The agent should keep the map usable throughout the transition.
135
+
136
+ Preferred approach:
137
+
138
+ - update charters incrementally as ownership moves
139
+ - note temporary adapters explicitly
140
+ - update `Covers`, caller/callee arrows, and tripwires as soon as they change
141
+ - remove obsolete charter entries when the old code is actually gone
142
+
143
+ If a temporary shim exists, the charter should say so plainly.
144
+
145
+ ## A Good Refactor Outcome
146
+
147
+ A good Gator refactor leaves:
148
+
149
+ - smaller modules with clearer ownership
150
+ - stable entry points or an explicit migration path
151
+ - tests that prove parity or intended change
152
+ - charters that match the new structure
153
+ - a branch diff the Architect can review coherently
154
+
155
+ The refactor is not complete when the code "looks cleaner." It is complete when the **structure, tests, and charters agree**.
@@ -0,0 +1,108 @@
1
+ # What Gator Requires From a Model
2
+
3
+ Gator is not magic. It is a harness. It improves results when the model behaves in ways the harness can work with.
4
+
5
+ This note explains the minimum behavioral assumptions behind Gator, why some models benefit more than others, and why short structured instructions outperform one giant prompt file.
6
+
7
+ ## The Core Requirement
8
+
9
+ Gator works best when the model is willing to:
10
+
11
+ - read before acting
12
+ - treat repo artifacts as authoritative
13
+ - follow workflow instructions across multiple steps
14
+ - update the knowledge layer after changing code
15
+ - distinguish project facts from general priors
16
+
17
+ In practice, this means Gator is a multiplier on **model discipline**. A strong explorer with poor instruction-following will still miss value that a more disciplined model captures.
18
+
19
+ ## Minimum Behavioral Assumptions
20
+
21
+ For Gator to work at all, the model does not need to be perfect. It does need a few baseline traits:
22
+
23
+ ### 1. Instruction-following
24
+
25
+ The model must reliably honor the entry point and the constitution. If it ignores `AGENTS.md`, skips `constitution.md`, or treats the loop as optional, the governance layer collapses into passive documentation.
26
+
27
+ ### 2. Willingness to read structured context
28
+
29
+ The model must be able to use `mission.md`, `roadmap.md`, charters, and reference notes as working context rather than treating them as decorative docs. Gator assumes the model can navigate from a small map to a relevant local subset.
30
+
31
+ ### 3. Multi-step persistence
32
+
33
+ The loop is not one instruction. It is a sequence: read, plan, change, update charters, log, lint, optionally review. Gator depends on the model being able to hold that sequence together across a session.
34
+
35
+ ### 4. Respect for repo state over prior assumptions
36
+
37
+ The model must be willing to replace its generic idea of how software "usually" works with what this repo says is true. This is especially important for `Does Not Own` boundaries and `TRIPWIRE` patterns.
38
+
39
+ ## What Gator Gives a Strong Model
40
+
41
+ When the model already has good tool use and repo traversal, Gator improves performance in three ways:
42
+
43
+ ### 1. Better orientation
44
+
45
+ The model starts with a map instead of discovering everything from raw exploration. This reduces cold-start ambiguity and helps the model find the right files faster.
46
+
47
+ ### 2. Better behavioral discipline
48
+
49
+ The constitution, charters, and reference notes turn good practice into explicit local rules. A model that follows instructions gets a tighter behavioral rail than raw code alone provides.
50
+
51
+ ### 3. Better continuity
52
+
53
+ The model does not need to reconstruct project intent from scratch each session. Decisions, boundaries, and recurring Architect questions are already captured in repo artifacts.
54
+
55
+ ## Failure Modes
56
+
57
+ Gator degrades when the model behaves like an undisciplined fast local optimizer.
58
+
59
+ Common failure modes:
60
+
61
+ - **Skips the map**: reads code directly, ignores charters, and answers from priors
62
+ - **Treats docs as advisory**: follows the code but not the governance
63
+ - **Optimizes for immediate completion**: makes the code change but skips charter updates and session logging
64
+ - **Hallucinates continuity**: claims knowledge of prior decisions without grounding in repo artifacts
65
+ - **Overloads context**: reads too much at once instead of navigating to the relevant subset
66
+
67
+ These are not failures of the idea. They are failures of harness compliance.
68
+
69
+ ## Why Short Structured Instructions Beat One Giant Prompt
70
+
71
+ Gator assumes that shorter top-level instructions plus structured repo artifacts outperform a single monolithic instruction file.
72
+
73
+ Why:
74
+
75
+ - A short entry point is easier for the model to obey consistently
76
+ - The constitution separates global rules from local code knowledge
77
+ - Charters localize understanding to the module being changed
78
+ - Reference notes answer recurring process questions without bloating the main instruction surface
79
+ - The model loads what is relevant instead of dragging every rule into every task
80
+
81
+ This is why Gator uses a layered structure:
82
+
83
+ - `AGENTS.md` / `CLAUDE.md` / `GEMINI.md` -- entry point
84
+ - `constitution.md` -- global workflow and governance
85
+ - `charters/` -- code-local map
86
+ - `reference-notes/` -- cognitive aids and repeated explanations
87
+ - `threads/` / `artifacts/` -- retained project memory
88
+
89
+ The goal is not "more instructions." The goal is **better instruction topology**.
90
+
91
+ ## Codex, Claude, and Similar Agents
92
+
93
+ Agents with strong tool use already perform well through live exploration. Gator helps them by converting some repeated exploration into maintained structure. The better the model is at reading, navigating, and complying with local instructions, the more value Gator adds.
94
+
95
+ This is why Gator often helps disciplined models more than rogue ones:
96
+
97
+ - disciplined model + Gator = navigation with accumulation
98
+ - rogue model + Gator = some orientation benefit, but much less continuity and governance benefit
99
+
100
+ Even with a less disciplined model, the structure still creates gravity. A visible constitution, explicit charter index, and dedicated mission/roadmap files make correct orientation easier than in a repo with only raw code and a giant prompt file.
101
+
102
+ ## Practical Test
103
+
104
+ The practical question is simple:
105
+
106
+ > Does the model behave as if the repo has a memory and a workflow, or as if every task starts from zero?
107
+
108
+ If the answer is the first, Gator compounds. If the answer is the second, Gator still helps, but only partially.
@@ -0,0 +1,99 @@
1
+ # Why Navigation Coding Feels Different
2
+
3
+ One of the first things PIs notice in Gator is that the interaction does not feel like ordinary prompting.
4
+
5
+ Instead of "tell the model what to build and wait," the Architect gets pulled into a sequence of specific questions:
6
+
7
+ - what exactly should this module own?
8
+ - is this behavior intentional or accidental?
9
+ - what must stay synchronized if this changes?
10
+ - what is the real next step here?
11
+ - is this a local edit or a boundary decision?
12
+
13
+ That difference is not incidental. It is part of the architecture.
14
+
15
+ ## Prompting vs. Navigation
16
+
17
+ In prompt-driven workflows, the human often operates as a requester:
18
+
19
+ - describe the task
20
+ - wait for output
21
+ - inspect the result
22
+ - correct it if needed
23
+
24
+ In navigation coding, the human operates more like an Architect under active questioning:
25
+
26
+ - clarify intent before code is written
27
+ - answer boundary questions while the plan is still cheap to change
28
+ - resolve ambiguities the repo cannot infer on its own
29
+ - make the judgment calls only the human can make
30
+
31
+ The model is not just generating code. It is repeatedly trying to align the next change with the repo's existing structure and the Architect's intent.
32
+
33
+ ## Why the Questions Get So Specific
34
+
35
+ When Gator is working properly, the agent starts from charters, mission, roadmap, recent session history, and cross-cutting patterns. That gives it enough structure to ask better questions than a generic prompt loop would.
36
+
37
+ The questions become more specific because the map is more specific.
38
+
39
+ This is similar to what happens when a capable new engineer pair-programs with a senior engineer on a real codebase. The new engineer does not just ask "what should I build?" They ask:
40
+
41
+ - which subsystem should own this?
42
+ - do we already have a pattern for this case?
43
+ - what is safe to defer?
44
+ - what looks local but is actually cross-cutting?
45
+
46
+ Navigation coding reproduces that dynamic in a repo-native way.
47
+
48
+ ## Why This Is Naturally Allergic to Vibe Coding
49
+
50
+ Vibe coding works best when ambiguity is tolerated and fast output is rewarded.
51
+
52
+ Navigation coding does the opposite:
53
+
54
+ - it pulls ambiguity forward
55
+ - it asks the Architect to resolve it explicitly
56
+ - it records the answer in the repo
57
+ - it treats unresolved architectural questions as real work, not as noise around the work
58
+
59
+ That makes the workflow less comfortable for people who want the feeling of progress without sustained attention. It also makes it much harder to glide past load-bearing uncertainty with a plausible-looking answer.
60
+
61
+ The friction is not a bug. It is a defensive mechanism.
62
+
63
+ ## The Attention Trade
64
+
65
+ Navigation coding demands more attention from the Architect at the moments where judgment matters most.
66
+
67
+ That is the trade:
68
+
69
+ - more attention upstream
70
+ - less cleanup downstream
71
+
72
+ The process does not remove human judgment. It relocates that judgment earlier, where it is cheaper, more precise, and easier to preserve.
73
+
74
+ This is why Gator can feel more intense than simple prompt-and-walk-away workflows. The system keeps asking for specificity until the map, the code, and the Architect's intent are aligned enough to proceed safely.
75
+
76
+ ## Why Some People Will Bounce Off It
77
+
78
+ Not every user wants this mode.
79
+
80
+ Some people want:
81
+
82
+ - immediate output
83
+ - low interruption
84
+ - minimal architectural discussion
85
+ - a workflow that feels lightweight even if it accumulates confusion
86
+
87
+ Navigation coding is not optimized for that experience. It is optimized for long-lived repo comprehension.
88
+
89
+ That means it will feel natural to some engineers and exhausting to others. The ones who value architectural control, continuity, and grounded collaboration tend to see the questions as the point. The ones who want a looser relationship with the code often experience the same questions as friction.
90
+
91
+ ## The Deeper Difference
92
+
93
+ The deepest difference is not just that Gator stores better project memory.
94
+
95
+ It changes the human-model contract.
96
+
97
+ The Architect is no longer a person issuing isolated prompts into an amnesic system. The Architect becomes a participant in a governed loop that keeps extracting, testing, and preserving project knowledge while the code changes.
98
+
99
+ That is why navigation coding feels more like engineering collaboration than prompting.