Public Attribution and Project Growth
Status: Open — research and design proposal (Phase 2, Agent Orchestrator Research Program)
Problem
Section titled “Problem”Jackin’s strongest marketing channel is likely to be the work it helps operators ship, not paid promotion. When an agent uses jackin’ to produce commits, PRs, issues, docs, or role repositories, the project can stay invisible unless the operator explicitly mentions it. Other agent tools are already using source-control metadata as a lightweight attribution surface: the Orca commit 5ca6828 includes Co-authored-by: Orca <help@stably.ai> alongside human and agent trailers, making Orca visible in GitHub history and the commit UI.
Jackin should research the same class of growth tactics, but the design needs a stricter bar than “add our name everywhere.” Git commit trailers touch operator repositories, project attribution policies, authorship semantics, DCO flows, and trust. A promotional tactic that surprises the operator or pollutes downstream history would conflict with jackin’s host-side-effects rule and do more damage than good.
Why It Matters
Section titled “Why It Matters”- GitHub commit history is where AI-assisted development is already being inspected. A visible jackin’ attribution can make the project discoverable at the exact moment a reader asks “what produced this work?”
- Attribution can explain the orchestration layer separately from the model/runtime layer. A commit may be authored by a human, co-authored by Claude/Codex/Amp/OpenCode, and still have been safely provisioned by jackin’. Those are different claims and should not be collapsed accidentally.
- Project growth helps the ecosystem. More operators means more role repos, more bug reports, more comparison data against adjacent tools, and more pressure to document the security boundary honestly.
- The feature is easy to implement badly. The roadmap item exists so jackin’ decides the product, ethical, legal, and repository-policy constraints before any code path starts modifying commit messages.
Research Inputs
Section titled “Research Inputs”- Orca example:
stablyai/orca@5ca6828usesCo-authored-by: Orca <help@stably.ai>in a GitHub-visible commit trailer. - GitHub’s supported multi-author mechanism is the
Co-authored-bycommit trailer. - Git’s native trailer tooling is
git interpret-trailers, which should be preferred over ad-hoc string manipulation if jackin’ ever edits commit messages. - The current jackin’ repository policy requires one agent
Co-authored-bytrailer for each AI agent involved in a commit; seeAGENTS.md. Any jackin’ attribution mechanism must respect local project rules like that instead of assuming the product can append unrelated attribution lines.
Recommended Research Shape
Section titled “Recommended Research Shape”Treat “public attribution” as a small project-growth program with commit trailers as one candidate, not the only tactic.
Candidate surfaces
Section titled “Candidate surfaces”| Surface | Visibility | Risk | Notes |
|---|---|---|---|
Co-authored-by: jackin' ... trailer | High on GitHub; can show in author UI | High | Implies authorship. Conflicts with repos that reserve Co-authored-by for people or agent runtimes. Should only be considered when jackin’ materially generated or transformed the commit and the repo policy allows it. |
Generated-with: jackin' <url> trailer | Medium; visible in raw commit message | Medium | More semantically honest for orchestration, but GitHub does not currently elevate it in the UI. Good default candidate if the goal is attribution without authorship claims. |
Orchestrated-by: jackin' <url> trailer | Medium; visible in raw commit message | Medium | Best semantic fit for jackin’s role as the container/session orchestrator. Needs ecosystem research because custom trailers vary by project. |
| PR body footer | Medium; visible during review | Low | Operator-controlled and easy to remove. Can link to jackin’ and explain the role/runtime/session context without touching immutable commit history. |
agent tag protocol emission | Operator-visible inside jackin’ | Low | Helps jackin’ track its own workflows but does not market externally unless mirrored into PR bodies or status checks. |
| Docs/readme badge for role repos | Medium for role authors | Low | Role authors can opt in to “Built for jackin’” badges without affecting source history. |
| GitHub App/status check name | High in PR checks | Medium | If jackin’ later ships hosted/daemon-backed verification, a status context like jackin/session is discoverable and semantically clean. Not a near-term local-only feature. |
Decision criteria
Section titled “Decision criteria”- Operator consent. Attribution must be opt-in at the workspace, role, or explicit command level. No launch, commit helper, PR helper, hook, or future daemon path silently writes promotional metadata into a host repo.
- Repository policy compatibility. jackin’ must detect or let the operator configure per-repo rules. If a repo says “exactly one
Co-authored-byagent trailer,” jackin’ must not add a second one. - Authorship honesty. Use
Co-authored-byonly if the claim is accurate in the repo’s social contract. Prefer a custom trailer or PR-body footer when jackin’ orchestrated the environment but did not author the patch. - Tooling correctness. Use structured trailer handling (
git interpret-trailersor a maintained Rust crate if one is clearly better) instead of hand-rolled trailer parsing. - Removeability. Operators need a one-command way to preview, add, remove, or disable attribution before publishing.
- Marketing usefulness. Measure whether the tactic creates real discovery: issue mentions, repo stars, docs visits, role-repo adoption, or inbound PRs. Avoid history pollution that only creates vanity metrics.
Host-side Effects
Section titled “Host-side Effects”Commit trailers and PR-body footers can write to host-side repositories or remote PR metadata. That makes this roadmap item subject to the hard host-mutation rule in AGENTS.md.
Any implementation must:
- default to no host-side writes;
- surface the exact write in the launch summary, commit preview, or PR preview before it happens;
- require an explicit operator opt-in through a CLI flag, config setting, or confirmation prompt;
- operate only on the repo/action the operator selected;
- never install host Git hooks, mutate repo
.git/config, rewrite existing history, or alter global Git/GitHub CLI config as a convenience path.
Scope (V1)
Section titled “Scope (V1)”- Research note comparing agent/product attribution practices across Orca, Claude Code, Codex, Amp, Cursor, OpenCode, and GitHub Copilot where observable from public commits or docs.
- A design decision choosing the initial jackin’ attribution surface: likely PR-body footer or custom
Orchestrated-bytrailer, withCo-authored-bygated behind stronger policy checks if kept at all. - A dry-run command or preview-only mode that shows the exact trailer/footer jackin’ would add for the current repo and explains why it is or is not allowed.
- Workspace/role-level opt-in that is off by default.
- Tests around trailer parsing, local policy suppression, and no-op behavior when attribution is disabled.
- Automatic trailer insertion during arbitrary
git commitcalls. Jackin should not become a host Git hook manager in V1. - Hosted analytics. Any measurement should start with public, aggregate signals or operator-submitted feedback, not hidden telemetry.
- A GitHub App/status-check presence. Useful later, but it belongs after jackin’ has a daemon/remote story that can honestly own a check run.
- Cross-platform identity accounts such as a
jackin[bot]GitHub App user. Decide only after the semantic trailer/footer choice is made.
Open Questions
Section titled “Open Questions”- Should jackin’ ever use
Co-authored-by, or should it reserve that trailer for the actual agent runtime and useOrchestrated-by/Generated-withfor the product layer? - What should the canonical identity be:
jackin' <...>,Jackin <...>,jackin-project[bot] <...>, or a real GitHub App noreply identity? - Should role authors be allowed to set a role-specific attribution line, or would that turn every role into a marketing channel with inconsistent policy?
- Can jackin’ infer a repo’s trailer policy from local files such as
AGENTS.md,COMMITS.md, orCONTRIBUTING.md, or should policy always be explicit config? - Is PR-body attribution more valuable because reviewers see it before merge, or less valuable because it disappears from the permanent Git history after squash merges?
Related Files
Section titled “Related Files”AGENTS.md— current agent trailer policy for this repositoryCOMMITS.md— commit-message rules that any jackin’ helper must respect in this repository- Future module, e.g.
src/git/attribution.rs— trailer/footer preview and policy evaluation if this ships - Future CLI surface, e.g.
jackin attribution preview/jackin attribution apply
See Also
Section titled “See Also”- Agent Orchestrator Research Program
- Agent tag protocol — internal machine-readable markers for agent sessions
- GitHub link tracking — GitHub-facing workflow awareness
- Operator handler system — operator-mediated actions that can preview before opening/writing