Newer
Older
openstack-caracal-dc-dc / docs / audit / sprygit-requirements-inputs-20260725.md

SpryGit dev-handover: requirements inputs (pinned, document not yet written)

Date: 2026-07-25. Status: PINNED / inputs only. No requirements have been drafted. This file exists so the work resumes without re-derivation.

STATUS: PINNED, not started. The operator ruled 2026-07-25: "Hold the SpryGit document creation until after we finish up the Code handover but make sure it is pinned so we can continue it shortly." This handoff pack IS the Code handover, so SpryGit is the next Chat deliverable.

What is being produced

A DEV HANDOVER DOCUMENT for the in-house SpryGit team: a full feature list covering basic functions, advanced functions, protocols, API surface, and other requirements, scoped so the product has everything needed for proper integration into this stack and the processes being developed here.

Why it is sequenced after this pack, and why it matters more than a wishlist

The operating model pinned in item 70 has a REAL DEPENDENCY on git-host capability that GitBucket does not meet. SpryGit's requirements are therefore not speculative -- they are derived from a concrete pipeline this project is about to build. Known inputs already identified:

  • CI/runner: GitBucket has no Actions-style runner, which is the gap blocking "the renderer runs automatically" (item 70 section 5).
  • SSH access: deferred to v2 on GitBucket; the current workaround is HTTPS basic auth. An automated push needs a credential posture better than that.
  • Merge-request review as the APPROVAL GATE (item 70 section 2) -- the diff is the change request, so review, required approvals, and merge policy are load-bearing, not cosmetic.
  • Group/path semantics: this repo has already moved once (D-110), and the skill's rule is never to hardcode its path. Redirects on move are a requirement, not a nicety -- GitBucket's lack of one cost a failed clone at the start of the 2026-07-25 Chat session.
  • The browse-URL-vs-clone-URL trap: GitBucket's browse URL yields a silent empty clone.
  • Airgap/mirror behaviour per D-107.

Sources the operator authorised

Current products in use, project knowledge, and online research into other git products' feature sets.

Not started

No requirements have been drafted. Nothing in this file is a requirement list -- it is the pin plus the inputs already known, so the work resumes without re-derivation.