gator-command 1.1.2__tar.gz → 1.1.4__tar.gz

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 (132) hide show
  1. {gator_command-1.1.2/src/gator_command.egg-info → gator_command-1.1.4}/PKG-INFO +1 -1
  2. {gator_command-1.1.2 → gator_command-1.1.4}/pyproject.toml +1 -1
  3. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/__init__.py +1 -1
  4. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/dashboard/views/repo.js +1 -1
  5. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-dashboard.py +9 -5
  6. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-deploy.py +21 -3
  7. {gator_command-1.1.2 → gator_command-1.1.4/src/gator_command.egg-info}/PKG-INFO +1 -1
  8. {gator_command-1.1.2 → gator_command-1.1.4}/LICENSE +0 -0
  9. {gator_command-1.1.2 → gator_command-1.1.4}/PYPI_README.md +0 -0
  10. {gator_command-1.1.2 → gator_command-1.1.4}/README.md +0 -0
  11. {gator_command-1.1.2 → gator_command-1.1.4}/setup.cfg +0 -0
  12. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/cli.py +0 -0
  13. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/crawler.py +0 -0
  14. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/dashboard/dashboard.css +0 -0
  15. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/dashboard/dashboard.html +0 -0
  16. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/dashboard/dashboard.js +0 -0
  17. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/dashboard/views/audit.js +0 -0
  18. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/dashboard/views/fleet.js +0 -0
  19. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/dashboard/views/settings.js +0 -0
  20. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/dashboard/views/updates.js +0 -0
  21. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/enforcer-prompt.md +0 -0
  22. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/extract-claude-sessions.py +0 -0
  23. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/extract-codex-sessions.py +0 -0
  24. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/extract-gemini-sessions.py +0 -0
  25. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-audit.py +0 -0
  26. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-charter-draft.py +0 -0
  27. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-charter-lint.py +0 -0
  28. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-charter-verify.py +0 -0
  29. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-drift.py +0 -0
  30. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-enforce.py +0 -0
  31. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-fleet-intel.py +0 -0
  32. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-fleet-report.py +0 -0
  33. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-init-command-post.py +0 -0
  34. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-init.py +0 -0
  35. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-machine-id.py +0 -0
  36. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-policy-status.py +0 -0
  37. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-pulse.py +0 -0
  38. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-repo-status.py +0 -0
  39. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-session-common.py +0 -0
  40. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-session-sink.py +0 -0
  41. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-sessions.py +0 -0
  42. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-update.py +0 -0
  43. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator-version.py +0 -0
  44. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator_core.py +0 -0
  45. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator_remote.py +0 -0
  46. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gator_runtime.py +0 -0
  47. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gatorize-actions.sh +0 -0
  48. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gatorize-lib.sh +0 -0
  49. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gatorize-post.sh +0 -0
  50. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gatorize.py +0 -0
  51. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/gatorize.sh +0 -0
  52. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/generate_markdown.py +0 -0
  53. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/generate_wiki.py +0 -0
  54. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/graph_health.py +0 -0
  55. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/memex-lint.py +0 -0
  56. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/memex-lint.sh +0 -0
  57. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/memex.py +0 -0
  58. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/memex_formatters.py +0 -0
  59. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/memex_state.py +0 -0
  60. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/scripts/spawn.py +0 -0
  61. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/blueprints/README.md +0 -0
  62. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/charterignore +0 -0
  63. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/charters/README.md +0 -0
  64. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/charters/_template.md +0 -0
  65. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/commands/commit.md +0 -0
  66. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/commands/init.md +0 -0
  67. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/commands/update.md +0 -0
  68. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/constitution.md +0 -0
  69. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/field-guides/README.md +0 -0
  70. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/gator-start-up.md +0 -0
  71. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/procedures/charter-alignment.md +0 -0
  72. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/procedures/enforcer-review.md +0 -0
  73. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/procedures/field-guide-generation.md +0 -0
  74. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/procedures/knowledge-capture.md +0 -0
  75. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/procedures/significance-check.md +0 -0
  76. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/concierge-responses.md +0 -0
  77. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/dangerous-patterns.md +0 -0
  78. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/dashboard-operations.md +0 -0
  79. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/enforcer-configuration.md +0 -0
  80. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/example-project.md +0 -0
  81. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/failure-modes-and-self-correction.md +0 -0
  82. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/git-workflow.md +0 -0
  83. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/identity-and-ownership.md +0 -0
  84. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/refactor-approach.md +0 -0
  85. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/what-gator-requires-from-a-model.md +0 -0
  86. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/why-navigation-coding-feels-different.md +0 -0
  87. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/reference-notes/workflow-profiles.md +0 -0
  88. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/__pycache__/enforcer-review.cpython-313.pyc +0 -0
  89. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/__pycache__/gator-approve.cpython-313.pyc +0 -0
  90. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/__pycache__/gator-init.cpython-313.pyc +0 -0
  91. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/__pycache__/gator-pre-commit.cpython-313.pyc +0 -0
  92. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/__pycache__/gator-update.cpython-313.pyc +0 -0
  93. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/enforcer-prompt.md +0 -0
  94. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/enforcer-review.py +0 -0
  95. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/gator-approve.py +0 -0
  96. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/gator-enforce.py +0 -0
  97. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/gator-init.py +0 -0
  98. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/gator-pre-commit.py +0 -0
  99. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/gator-pulse.py +0 -0
  100. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/gator-update.py +0 -0
  101. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/gator-version.py +0 -0
  102. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/gator_core.py +0 -0
  103. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/hooks/__pycache__/commit-msgcpython-313.pyc +0 -0
  104. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/hooks/__pycache__/post-commitcpython-313.pyc +0 -0
  105. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/hooks/__pycache__/pre-commitcpython-313.pyc +0 -0
  106. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/hooks/commit-msg +0 -0
  107. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/hooks/post-commit +0 -0
  108. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/scripts/hooks/pre-commit +0 -0
  109. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/sessions/.gitignore +0 -0
  110. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/vault/.gitkeep +0 -0
  111. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command/templates/gator-starter/whiteboard.md +0 -0
  112. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command.egg-info/SOURCES.txt +0 -0
  113. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command.egg-info/dependency_links.txt +0 -0
  114. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command.egg-info/entry_points.txt +0 -0
  115. {gator_command-1.1.2 → gator_command-1.1.4}/src/gator_command.egg-info/top_level.txt +0 -0
  116. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_audit.py +0 -0
  117. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_audit_integration.py +0 -0
  118. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_charter_lint.py +0 -0
  119. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_deploy.py +0 -0
  120. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_drift.py +0 -0
  121. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_fleet_intel.py +0 -0
  122. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_fleet_report.py +0 -0
  123. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_gator_core.py +0 -0
  124. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_gatorize.py +0 -0
  125. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_hooks.py +0 -0
  126. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_init.py +0 -0
  127. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_memex_state.py +0 -0
  128. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_packaging.py +0 -0
  129. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_pre_commit.py +0 -0
  130. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_remote.py +0 -0
  131. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_session_sink.py +0 -0
  132. {gator_command-1.1.2 → gator_command-1.1.4}/tests/test_sessions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gator-command
3
- Version: 1.1.2
3
+ Version: 1.1.4
4
4
  Summary: Git-native governance for AI-assisted engineering
5
5
  Author-email: Cumberland Laboratories <support@cumberlandlaboratories.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gator-command"
7
- version = "1.1.2"
7
+ version = "1.1.4"
8
8
  description = "Git-native governance for AI-assisted engineering"
9
9
  readme = "PYPI_README.md"
10
10
  license = {text = "MIT"}
@@ -1,2 +1,2 @@
1
1
  """Gator Command — Git-native governance for AI-assisted engineering."""
2
- __version__ = "1.1.2"
2
+ __version__ = "1.1.3"
@@ -442,7 +442,7 @@
442
442
  }
443
443
 
444
444
  function fileItem(repoName, f, indented) {
445
- const label = f.name.replace(/\.md$/, "");
445
+ const label = f.name.replace(/\.(md|json)$/, "");
446
446
  const indent = indented ? ' style="padding-left:24px"' : "";
447
447
  return `<button class="repo-file-item" data-path="${escHtml(f.path)}"${indent}>${escHtml(label)}</button>`;
448
448
  }
@@ -257,7 +257,11 @@ def _restart_server():
257
257
  """
258
258
  import time
259
259
  time.sleep(1) # let the HTTP response reach the browser
260
- args = [sys.executable, str(Path(__file__).resolve())] + sys.argv[1:]
260
+ # Add --no-open so the restarted server doesn't open a new browser tab
261
+ restart_args = sys.argv[1:]
262
+ if "--no-open" not in restart_args:
263
+ restart_args = restart_args + ["--no-open"]
264
+ args = [sys.executable, str(Path(__file__).resolve())] + restart_args
261
265
  try:
262
266
  os.execv(sys.executable, args)
263
267
  except OSError:
@@ -555,7 +559,7 @@ class DashboardHandler(BaseHTTPRequestHandler):
555
559
  if fpath.startswith(".gator/"):
556
560
  if "sessions/_active/" in fpath:
557
561
  continue
558
- if ext.lower() != ".md":
562
+ if ext.lower() not in (".md", ".json"):
559
563
  continue
560
564
  rel = fpath[len(".gator/"):]
561
565
  dir_part = "/".join(rel.split("/")[:-1])
@@ -569,7 +573,7 @@ class DashboardHandler(BaseHTTPRequestHandler):
569
573
  elif fpath.startswith("gator-command/"):
570
574
  if "sessions/_active/" in fpath:
571
575
  continue
572
- if ext.lower() != ".md":
576
+ if ext.lower() not in (".md", ".json"):
573
577
  continue
574
578
  dir_part = "/".join(fpath.split("/")[:-1])
575
579
  files.append({
@@ -602,7 +606,7 @@ class DashboardHandler(BaseHTTPRequestHandler):
602
606
  files = []
603
607
  # Scan .gator/ (all repos)
604
608
  if gator_dir.is_dir():
605
- for f in sorted(gator_dir.rglob("*.md")):
609
+ for f in sorted(list(gator_dir.rglob("*.md")) + list(gator_dir.rglob("*.json"))):
606
610
  rel = f.relative_to(gator_dir)
607
611
  rel_str = str(rel).replace("\\", "/")
608
612
  if rel_str.startswith("sessions/_active/"):
@@ -616,7 +620,7 @@ class DashboardHandler(BaseHTTPRequestHandler):
616
620
  })
617
621
  # Scan gator-command/ (command-post repos only)
618
622
  if gc_dir.is_dir():
619
- for f in sorted(gc_dir.rglob("*.md")):
623
+ for f in sorted(list(gc_dir.rglob("*.md")) + list(gc_dir.rglob("*.json"))):
620
624
  rel = f.relative_to(gc_dir)
621
625
  rel_str = str(rel).replace("\\", "/")
622
626
  if rel_str.startswith("sessions/_active/"):
@@ -175,11 +175,28 @@ def find_command_post():
175
175
 
176
176
 
177
177
  def get_source_version(source):
178
- """Get version string from source repo via git describe.
178
+ """Get version string from the source repo.
179
179
 
180
- Returns a string like 'v1.0.0-5-gabcdef1' between tags, or 'v1.0.0'
181
- on an exact tag. Falls back to VERSION file content, then 'dev'.
180
+ Resolution order:
181
+ 1. pyproject.toml version field (canonical package version)
182
+ 2. git describe --tags
183
+ 3. VERSION file
184
+ 4. 'dev'
182
185
  """
186
+ # 1. pyproject.toml — canonical package version
187
+ pyproject = source / "pyproject.toml"
188
+ if pyproject.exists():
189
+ try:
190
+ for line in pyproject.read_text(encoding="utf-8").splitlines():
191
+ line = line.strip()
192
+ if line.startswith("version") and "=" in line:
193
+ ver = line.split("=", 1)[1].strip().strip('"').strip("'")
194
+ if ver:
195
+ return f"v{ver}" if not ver.startswith("v") else ver
196
+ except OSError:
197
+ pass
198
+
199
+ # 2. git describe
183
200
  try:
184
201
  result = subprocess.run(
185
202
  ["git", "describe", "--tags", "--always"],
@@ -192,6 +209,7 @@ def get_source_version(source):
192
209
  except (OSError, subprocess.TimeoutExpired):
193
210
  pass
194
211
 
212
+ # 3. VERSION file
195
213
  version_file = source / "VERSION"
196
214
  if version_file.exists():
197
215
  text = version_file.read_text(encoding="utf-8").strip()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gator-command
3
- Version: 1.1.2
3
+ Version: 1.1.4
4
4
  Summary: Git-native governance for AI-assisted engineering
5
5
  Author-email: Cumberland Laboratories <support@cumberlandlaboratories.com>
6
6
  License: MIT
File without changes
File without changes
File without changes