Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
8f873de
feat: document env portability trust model
roodboi Mar 13, 2026
f8192a5
docs: define first-class github workflows
roodboi Mar 13, 2026
e22be09
fix: explain env storage without contract
roodboi Mar 13, 2026
1f984b2
docs: add tickets normalization core plan
roodboi Mar 13, 2026
b192f04
feat(tickets): normalize ticket replay metadata
roodboi Mar 13, 2026
de42cea
feat(tickets): define normalized ticket entity model
roodboi Mar 13, 2026
57c479e
feat(tickets): persist sqlite projection cache
roodboi Mar 13, 2026
e6c8cb8
docs(tickets): document sqlite projection cache
roodboi Mar 13, 2026
77e2c91
feat(tickets): normalize provenance helpers
roodboi Mar 13, 2026
517031d
feat(tickets): make sync writes idempotent
roodboi Mar 13, 2026
d166be1
feat(tickets): add document-backed ticket content
roodboi Mar 13, 2026
362e256
docs: define prerequisite detection matrix
roodboi Mar 14, 2026
eaab6df
feat(env): define portable managed env artifact schema
roodboi Mar 14, 2026
daa5ed3
docs: clarify core offer and docs ia
roodboi Mar 14, 2026
a0daeec
docs(readme): center root docs on core promises
roodboi Mar 14, 2026
fcad814
docs: define teams and organizations admin program
roodboi Mar 14, 2026
565f1b2
docs: add linear project artifact design
roodboi Mar 14, 2026
23f2dd8
docs: cross-link planned linear project artifacts
roodboi Mar 14, 2026
4347418
docs: survey agent-native runtime baselines
roodboi Mar 14, 2026
2b20d89
test(global): add explicit command test timeouts
roodboi Mar 14, 2026
8eebcf3
test: cover local prerequisite handling exclusions
roodboi Mar 14, 2026
7b316b7
docs(tickets): design sqlite projection and journal
Mar 14, 2026
c8e6d92
docs(tickets): plan sqlite projection implementation
Mar 14, 2026
57c4e8c
test: relax env backend command timeout
roodboi Mar 14, 2026
c0f6a67
feat: improve runtime crash recovery guidance
roodboi Mar 14, 2026
a0f4e4a
docs(tickets): format projection docs
Mar 14, 2026
cc8a606
feat(session): clarify workspace semantics and tmux onboarding
roodboi Mar 14, 2026
6fa9c28
feat(auth): define org and team membership semantics
roodboi Mar 14, 2026
c72c436
feat: add linear project artifact client support
roodboi Mar 14, 2026
8ffc5df
feat: add linear project artifact file model
roodboi Mar 14, 2026
f840359
feat: add linear project artifact command parsers
roodboi Mar 14, 2026
957c2ad
feat(tickets): finalize normalization core flow
roodboi Mar 14, 2026
7c8b476
docs(tickets): harden projection replay design
roodboi Mar 14, 2026
ac10f03
docs: surface admin trust boundaries
roodboi Mar 14, 2026
86870d6
docs(tickets): tighten sqlite projection handoff docs
roodboi Mar 14, 2026
9282a3c
docs: clarify shared admin guidance
roodboi Mar 14, 2026
b35ac6f
docs(tickets): clarify projection rebuild triggers
roodboi Mar 14, 2026
8ae5759
docs(tickets): record journal projection architecture
roodboi Mar 14, 2026
4ded32e
feat: add explicit project ownership inspection
roodboi Mar 14, 2026
63b832a
feat: add linear project artifact workflows
roodboi Mar 14, 2026
474f1dd
docs(tickets): resolve projection design review
roodboi Mar 14, 2026
c3b7847
fix: restore crash recovery inference
roodboi Mar 14, 2026
cafe775
docs: surface linear project artifact workflows
roodboi Mar 14, 2026
4d8af4c
fix: hide unsupported linear archive verbs
roodboi Mar 14, 2026
9650f17
docs: align linear artifact design with shipped verbs
roodboi Mar 14, 2026
2cdd096
docs(tickets): close projection design review gaps
roodboi Mar 14, 2026
1018d15
fix: harden recovery guidance inference
roodboi Mar 14, 2026
cd3fdf9
fix: harden linear project artifact reconciliation
roodboi Mar 14, 2026
78cc3ea
docs: expand linear project artifact help
roodboi Mar 14, 2026
453fdb7
fix: honor explicit linear artifact project routing
roodboi Mar 14, 2026
8fd8107
refactor: simplify linear artifact target selection
roodboi Mar 14, 2026
7384d8e
fix: keep root help aligned with docs ia
roodboi Mar 14, 2026
10430e3
chore(env): tighten managed artifact schema contract
roodboi Mar 14, 2026
3c512b9
docs: clarify linear project artifact targeting
roodboi Mar 14, 2026
0042167
fix(auth): widen org plugin session status typing
roodboi Mar 14, 2026
ed3737a
docs(readme): fix linear sync example
roodboi Mar 14, 2026
f523440
fix: normalize linear prerequisite aliases
roodboi Mar 14, 2026
f67c628
HACK-428: checkpoint merge prep
roodboi Mar 14, 2026
0a58f39
test: cover linear milestone artifact commands
roodboi Mar 14, 2026
a428423
HACK-454: checkpoint merge prep
roodboi Mar 14, 2026
47e5d8f
HACK-429: checkpoint merge prep
roodboi Mar 14, 2026
ebd9e39
HACK-449: checkpoint merge prep
roodboi Mar 14, 2026
4400bb9
HACK-464: checkpoint merge prep
roodboi Mar 14, 2026
fc35b08
HACK-468: checkpoint merge prep
roodboi Mar 14, 2026
5fe5859
docs(tickets): define normalized sync idempotency
roodboi Mar 14, 2026
271c144
fix(session): honor mux fallback for workspace flows
roodboi Mar 14, 2026
51c5295
HACK-468: checkpoint merge prep
roodboi Mar 14, 2026
7f5581a
docs(tickets): add normalized sync implementation plan
roodboi Mar 14, 2026
4349751
HACK-441: checkpoint merge prep
roodboi Mar 14, 2026
ea08c7f
fix: close linear project artifact edge cases
roodboi Mar 14, 2026
2f4239f
fix(ssh): respect mux backend for workspace attach
roodboi Mar 14, 2026
4ddc130
fix: tighten linear artifact conflict handling
roodboi Mar 14, 2026
954e8b2
docs: format github workflow scope docs
roodboi Mar 14, 2026
7f8cb4d
docs: restore markdown table formatting
roodboi Mar 14, 2026
75b33bc
docs: format github workflow docs
Mar 14, 2026
66fbf02
HACK-459: checkpoint merge prep
Mar 14, 2026
3bb11fb
HACK-448: checkpoint merge prep
Mar 14, 2026
cf74c61
docs(linear): align help with project routing UX
Mar 14, 2026
0b5078c
feat: harden project ownership inspection
Mar 14, 2026
66b9fa5
chore: remove unrelated merge-prep artifacts
Mar 14, 2026
79ef745
test(env): avoid env backend timeout flakes
Mar 14, 2026
e1ad2e8
fix(session): preserve workspace backend for isolated siblings
Mar 14, 2026
59c5c01
fix(auth): allow org admins to administer teams
Mar 14, 2026
8f39413
fix: clarify env trust model boundaries
Mar 14, 2026
4c7f463
docs: clarify core offer and docs ia
roodboi Mar 14, 2026
2613f35
fix: keep root help aligned with docs ia
roodboi Mar 14, 2026
17d01f4
HACK-428: checkpoint merge prep
roodboi Mar 14, 2026
49ce93c
docs: define first-class github workflows
roodboi Mar 13, 2026
d9f6973
docs: format github workflow scope docs
roodboi Mar 14, 2026
9b09408
docs: restore markdown table formatting
roodboi Mar 14, 2026
4f1251d
docs: narrow github workflow scope diff
Mar 14, 2026
0bbe84e
docs: format github workflow docs
Mar 14, 2026
3f30fd2
HACK-448: checkpoint merge prep
Mar 14, 2026
ddaaca5
HACK-429: fix tickets checkout fallback wiring
Mar 14, 2026
421c4ea
docs(session): align gateway workspace wording
Mar 14, 2026
16c1930
fix: close prerequisite matrix coverage gaps
Mar 14, 2026
3477a23
test: widen env backend integration timeouts
Mar 14, 2026
eef1343
test(tickets): harden normalized model invariants
Mar 14, 2026
bdced94
fix(tickets): finalize normalization conflict semantics
Mar 14, 2026
18ee39f
docs(tickets): finalize projection doc cleanup
Mar 14, 2026
c54be5e
docs: clarify github integration capability story
Mar 14, 2026
73203cd
docs(env): clarify managed artifact invariants
Mar 14, 2026
ef8b180
fix: unify recovery workflow formatting
Mar 14, 2026
1b1c083
feat(tickets): use random ticket ids
Mar 14, 2026
25aebd7
Change hack ticket ids to random IDs
Mar 15, 2026
e06fbd4
fix(tickets): retry prepared event pushes safely
Mar 22, 2026
749fbad
chore(symphony): checkpoint HACK-430 before integration
Mar 22, 2026
67004c4
chore(symphony): checkpoint HACK-465 before integration
Mar 22, 2026
64e7af6
chore(symphony): checkpoint HACK-436 before integration
Mar 22, 2026
7298035
Merge branch 'symphony/HACK-437-rewrite-the-root-readme-around-the-th…
Mar 22, 2026
a2e5988
Merge branch 'symphony/HACK-472-research-existing-runtimes-and-adjace…
Mar 22, 2026
9132f98
Merge branch 'symphony/HACK-448-define-the-first-class-github-workflo…
Mar 22, 2026
1a0d9a2
docs: add integrations overview
Mar 22, 2026
df0901f
Merge branch 'symphony/HACK-428-program-core-offer-and-information-ar…
Mar 22, 2026
4511a33
docs: reposition github setup around workflows
Mar 22, 2026
179527b
Merge branch 'symphony/HACK-430-program-github-capability-expansion' …
Mar 22, 2026
efd104b
docs: split docs into core beta and reference paths
Mar 22, 2026
a6bf131
Merge branch 'symphony/HACK-441-define-the-prerequisite-detection-mat…
Mar 22, 2026
263d756
docs: add agent-native runtime requirements
Mar 22, 2026
92af187
docs(tickets): define git portability contract
Mar 22, 2026
e6a320f
Merge branch 'symphony/HACK-454-redesign-hack-linear-setup-bind-and-s…
Mar 22, 2026
2110ab9
docs: align github cli summaries with workflow story
Mar 22, 2026
9cc075c
docs: align integration summaries with cli help
Mar 22, 2026
159c4fe
Define normalized Linear sync semantics
Mar 22, 2026
3e98540
docs(tickets): add portability implementation plan
Mar 22, 2026
165edc7
docs: strengthen runtime requirements review criteria
Mar 22, 2026
12d764f
Merge branch 'symphony/HACK-455-add-hack-managed-support-for-linear-p…
Mar 22, 2026
4cbf226
docs: add docs ia proposal and guide labels
Mar 22, 2026
2080f15
Merge branch 'hack-449-normalized-ticket-model' into symphony/HACK-54…
Mar 22, 2026
85f9174
Merge branch 'symphony/HACK-450-design-the-sqlite-projection-and-appe…
Mar 22, 2026
f63145d
Merge branch 'symphony/HACK-452-define-idempotent-external-sync-and-c…
Mar 22, 2026
20d22bc
docs: add adjacent capabilities to cli reference
Mar 22, 2026
53d764e
docs(tickets): clarify portable journal paths
Mar 22, 2026
7ad4ffd
docs: label beta guide entry points
Mar 22, 2026
9fe8848
Align desktop Linear sync guidance
Mar 22, 2026
16c49fc
Add markdown-backed ticket documents design
Mar 22, 2026
0c59745
Resolve merge conflicts in HACK-546 integration branch
Mar 23, 2026
59f383d
Merge branch 'symphony/HACK-429-program-cli-ux-and-guided-setup' into…
Mar 23, 2026
c9bf522
Merge ticket normalization core work into integration branch
Mar 23, 2026
ba1f179
Resolve env portability branch merge conflicts in HACK-546 branch
Mar 23, 2026
f0e4875
Merge env artifact schema work from HACK-459 into integration branch
Mar 23, 2026
94d8218
Resolve HACK-546 runtime reset merge state
Mar 23, 2026
0f8bc6d
feat(auth): define org and team membership semantics
roodboi Mar 14, 2026
64dd8b2
fix(auth): widen org plugin session status typing
roodboi Mar 14, 2026
2a16e27
HACK-468: checkpoint merge prep
roodboi Mar 14, 2026
c25ae2d
fix(auth): allow org admins to administer teams
Mar 14, 2026
4ec26f0
chore(symphony): checkpoint HACK-465 before integration
Mar 22, 2026
6330a0f
chore(symphony): finalize HACK-546 merge branch workspace updates
Mar 23, 2026
389740c
test(tickets): expose checkout helper paths under __testOnly
Mar 23, 2026
de1f70a
merge: integrate HACK-505 random ticket id work
Mar 23, 2026
f208194
Merge branch 'symphony/HACK-453-design-markdown-backed-ticket-documen…
Mar 23, 2026
d68d4e9
merge: integrate HACK-456 sync semantics docs
Mar 23, 2026
e6ec536
Merge branch 'symphony/HACK-451-preserve-git-portability-and-hidden-r…
Mar 23, 2026
ad6d1c0
Merge branch 'symphony/HACK-473-write-hack-specific-runtime-requireme…
Mar 23, 2026
fe1ac27
Merge branch 'symphony/HACK-445-reposition-github-setup-and-docs-arou…
Mar 23, 2026
d4db2ac
Merge branch 'symphony/HACK-440-add-a-plain-language-integrations-ove…
Mar 23, 2026
70c1121
Merge branch 'symphony/HACK-438-split-docs-navigation-into-core-beta-…
Mar 23, 2026
f5dbfc0
Merge branch 'symphony/HACK-468-define-team-and-organization-command-…
Mar 23, 2026
e7499a7
Merge branch 'symphony/HACK-466-clarify-session-semantics-and-add-tmu…
Mar 23, 2026
e64da7d
Merge branch 'symphony/HACK-465-improve-crash-capture-restart-guidanc…
Mar 23, 2026
05d90bd
integrate: preserve HACK-434 runtime hardening assets
Mar 23, 2026
55ae8a1
test: stabilize merge branch verification
Mar 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .cursor/rules/hack.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ hack down
hack global status
hack session
hack tickets list
hack node list
hack node status --watch
hack node ssh setup --node <id>
hack node routes status
hack node routes repair
hack dispatch run --project <name|id> --node default --branch <branch> --runner generic -- "pwd"
hack internal extra-hosts list
hack internal extra-hosts set <hostname> <target>
hack internal extra-hosts unset <hostname>
Expand Down
4 changes: 2 additions & 2 deletions .hack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ This repo is dogfooding the tickets extension.
- `hack x tickets setup`
- `hack x tickets create --title "..." --body-stdin`
- `hack x tickets list`
- `hack x tickets show T-00001`
- `hack x tickets status T-00001 in_progress`
- `hack x tickets show T-AB12CD34EF`
- `hack x tickets status T-AB12CD34EF in_progress`
- `hack x tickets sync`

No services are required for this repo; `docker-compose.yml` is intentionally empty.
14 changes: 7 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ Most formatting and common issues are automatically fixed by Biome. Run `bun x u
<!-- hack:agent-docs:start -->
## hack CLI (local dev + MCP)

Use `hack` as the single interface for local runtime orchestration (compose, DNS/TLS, logs, sessions).
Use `hack` as the single interface for local runtime orchestration (compose, DNS/TLS, logs, persistent project workspaces).

Operating rules:
- Prefer `hack` over raw `docker` / `docker compose` for project workflows.
Expand Down Expand Up @@ -270,12 +270,12 @@ Lifecycle + startup:
- Use `lifecycle.up.before` for pre-start hooks and `lifecycle.processes` for long-running host tasks.
- Inspect lifecycle status via `hack projects --details` and stream via `hack logs <service-or-process>`.

Sessions (mux-managed):
- Picker: `hack session`
- Start/attach: `hack session start <project>`
- Force isolated agent session: `hack session start <project> --new --name agent-1`
- Execute in session: `hack session exec <session> "<command>"`
- Stop session: `hack session stop <session>`
Workspaces (mux-managed):
- Picker: `hack session` for persistent project workspaces.
- Reuse/create: `hack session start <project>`
- Force isolated agent workspace: `hack session start <project> --new --name agent-1` (`<project>--agent-1`).
- Execute in workspace: `hack session exec <workspace> "<command>"`
- Stop workspace: `hack session stop <workspace>`

Tickets (git-backed):
- Create: `hack tickets create --title "..." --body-stdin`
Expand Down
14 changes: 7 additions & 7 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ This project uses Obsidian for project context, specs, research, and progress tr
<!-- hack:agent-docs:start -->
## hack CLI (local dev + MCP)

Use `hack` as the single interface for local runtime orchestration (compose, DNS/TLS, logs, sessions).
Use `hack` as the single interface for local runtime orchestration (compose, DNS/TLS, logs, persistent project workspaces).

Operating rules:
- Prefer `hack` over raw `docker` / `docker compose` for project workflows.
Expand Down Expand Up @@ -165,12 +165,12 @@ Lifecycle + startup:
- Use `lifecycle.up.before` for pre-start hooks and `lifecycle.processes` for long-running host tasks.
- Inspect lifecycle status via `hack projects --details` and stream via `hack logs <service-or-process>`.

Sessions (mux-managed):
- Picker: `hack session`
- Start/attach: `hack session start <project>`
- Force isolated agent session: `hack session start <project> --new --name agent-1`
- Execute in session: `hack session exec <session> "<command>"`
- Stop session: `hack session stop <session>`
Workspaces (mux-managed):
- Picker: `hack session` for persistent project workspaces.
- Reuse/create: `hack session start <project>`
- Force isolated agent workspace: `hack session start <project> --new --name agent-1` (`<project>--agent-1`).
- Execute in workspace: `hack session exec <workspace> "<command>"`
- Stop workspace: `hack session stop <workspace>`

Tickets (git-backed):
- Create: `hack tickets create --title "..." --body-stdin`
Expand Down
Loading
Loading