Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
0673e94
docs(spec006): distinguish lifecycle retries from agent input
wstein Oct 14, 2026
a183ad2
docs(pilot): plan installable workspace and CLI work items
wstein Oct 14, 2026
016c4dc
docs(pilot): require terminal safety before attachment acceptance
wstein Oct 14, 2026
c64c654
feat(pilot): scaffold pinned Phoenix and Go applications
wstein Oct 14, 2026
65ec1b9
docs(pilot): separate internal acceptance from signed release
wstein Oct 14, 2026
24d2ee3
fix(whr): return documented usage exit for unsupported commands
wstein Oct 14, 2026
cf98785
ci(pilot): enforce explicit Go and Phoenix acceptance
wstein Oct 14, 2026
d366a23
test(migration): freeze selected Python wire and path contracts
wstein Oct 14, 2026
e24b08a
feat(migration): port strict JSON and lexical path primitives
wstein Oct 14, 2026
a3b77b3
docs(pilot): record accepted owner persistence contract
wstein Oct 14, 2026
3fad697
feat(owner): persist scoped durable operation intent
wstein Oct 14, 2026
6d67699
docs(auth): consolidate accepted browser security contract
wstein Oct 14, 2026
0a37257
feat(auth): enforce scoped owner and browser authentication
wstein Oct 14, 2026
c882e7e
fix(test): reuse loaded authentication migration module
wstein Oct 14, 2026
c4bd81a
docs(protocol): consolidate accepted host validation contract
wstein Oct 14, 2026
af611cb
feat(protocol): validate scoped immutable host messages
wstein Oct 14, 2026
4b06a52
test(security): pin HTTP1-only authenticated transport contract
wstein Oct 14, 2026
b39b13a
fix(security): enforce HTTP1-only authenticated listener profile
wstein Oct 14, 2026
3b37100
docs(hosts): freeze reviewed enrollment and liveness contract
wstein Oct 14, 2026
8984da1
feat(hosts): enroll and connect authenticated host identities
wstein Oct 14, 2026
c4365c0
fix(hosts): prove atomic identity persistence recovery
wstein Oct 14, 2026
3822cb2
docs(hosts): record accepted enrollment transport evidence
wstein Oct 14, 2026
826048a
docs(provider): consolidate T009 trust and Docker contract
wstein Oct 14, 2026
ebf2548
docs(provider): record reviewed seed ownership and native evidence
wstein Oct 15, 2026
0c5b9e0
feat(trust): persist exact revision and initial storage binding
wstein Oct 15, 2026
ed90272
feat(config): resolve and freeze approved container inputs
wstein Oct 15, 2026
8c9a79a
feat(storage): publish initial project data atomically
wstein Oct 15, 2026
1fede52
fix(config): check every ARG and canonical stage name
wstein Oct 15, 2026
4ab775c
fix(storage): resolve complete initial symlink chains
wstein Oct 15, 2026
39f62cc
feat(provider): implement trusted Docker workspace primitives
wstein Oct 15, 2026
08de861
fix(ci): retain schema-valid provider test identities
wstein Oct 15, 2026
10be1df
fix(provider): preserve official result and config boundaries
wstein Oct 15, 2026
0532970
test(provider): prove bounded real refusal coverage
wstein Oct 15, 2026
e3d58cf
fix(test): require exact source symlink refusal diagnostic
wstein Oct 15, 2026
dc89e4d
fix(ci): isolate npm configs in distinct private files
wstein Oct 15, 2026
cd926eb
test(provider): require failed build to reach Docker
wstein Oct 15, 2026
a6cbf47
docs(pilot): record T009 canonical and runtime block
wstein Oct 15, 2026
a254519
docs(pilot): record bounded T009 fixture evidence
wstein Oct 15, 2026
50b98db
docs(pilot): correct T009 entry-policy provenance
wstein Oct 15, 2026
15f93c6
fix(storage): refuse link chains that leave and re-enter the source
wstein Oct 16, 2026
5fbd50b
fix(provider): decode embedded tool pins with non-string fields
wstein Oct 16, 2026
f687445
fix(hosts): keep a valid identity connected when renewal fails
wstein Oct 16, 2026
515ba34
fix(config): admit stage sources only from earlier stages
wstein Oct 16, 2026
ca70f9c
docs(ci): describe application acceptance without stale counts
wstein Oct 16, 2026
0152355
ci(provider): compile real-Docker acceptance entrypoints in every run
wstein Oct 16, 2026
4f4f547
docs(pilot): map rewritten evidence IDs and record review outcome
wstein Oct 16, 2026
0b15e78
fix(hosts): retry failed renewal while connected
wstein Oct 16, 2026
ef2d881
fix(config): parse Dockerfile sources as BuildKit does
wstein Oct 16, 2026
bb3841f
docs(pilot): correct review-fix record and harness vet step
wstein Oct 16, 2026
27386d6
fix(config): detect git sources without a moby util import
wstein Oct 16, 2026
2235c20
fix(config): make csvvalue direct and test isGitTransport
wstein Oct 16, 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
21 changes: 21 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,32 @@ permissions:
jobs:
bootstrap:
runs-on: ubuntu-24.04
timeout-minutes: 35
steps:
# pull_request checks GitHub's ordinary synthetic merge into main.
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
# Native tool installers only; no product runtime, containers or activation.
# SHAs resolved from the official repositories' tag API on 2026-10-14.
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: '3.14.8'
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
with:
go-version: '1.27.2'
cache: false
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: '26.11.1'
package-manager-cache: false
- uses: erlef/setup-beam@54075bcc5e249e4758d363f27d099f55d843f124 # v1
with:
version-type: strict
otp-version: '29.1.1'
elixir-version: '1.20.4'
install-hex: false
install-rebar: false
- name: Validate explicit repository acceptance
run: python3 -I -B scripts/check_ci.py
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,7 @@ __pycache__/
.codex/auth.json
.codex/sessions/
WORKFLOW.local.md

# Local Go scaffold executables (build acceptance normally targets a temp dir).
/apps/host_agent/workharbor-agent
/apps/whr/whr
5 changes: 5 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
erlang 29.1.1
elixir 1.20.4-otp-29
golang 1.27.2
nodejs 26.11.1
python 3.14.8
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
PYTHON ?= python3
.PHONY: check check-raw test
.PHONY: check check-raw check-apps test
check:
$(PYTHON) -I -B scripts/check_ci.py

check-apps:
$(PYTHON) -I -B scripts/check_ci.py --applications-only

check-raw:
$(PYTHON) scripts/check_repo.py
$(PYTHON) -m unittest discover -s tests -v
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ make check

The bundle must be supplied separately; it is not required for the GitHub clone.

Requires Git, Make, Python 3.11+ and Bash. On macOS the built-in Python may need a
Requires Git, Make, Bash, native C build tools and the exact versions in
`.tool-versions` (Python, Go, Node, Elixir and Erlang). The application check fetches
locked dependencies and pinned build tools; see the [harness](docs/development/harness.md). On macOS the built-in Python may need a
newer installation. Open Codex in this repository; generated `$speckit-*` skills
live under `.agents/skills/`. Read [AGENTS.md](AGENTS.md), the
[constitution](.specify/memory/constitution.md) and [documentation index](docs/index.md).
Expand Down
5 changes: 5 additions & 0 deletions apps/api_client/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// SPDX-License-Identifier: EUPL-1.2

// Package apiclient reserves the shared owner API client boundary for whr and the
// host agent. Transport and authentication are not implemented yet.
package apiclient
3 changes: 3 additions & 0 deletions apps/api_client/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module github.com/wstein/workharbor-nxt/apps/api_client

go 1.27.2
Loading
Loading