6c92f85d10
Bring the Nexus/Praxis/Hexis integration in line with MAVEN_ECOSYSTEM_ARCHITECTURE.md: - Praxis over HTTP: drop the in-process praxis.db open (praxisstore/ praxistools) and call praxisd's /api/v1/tools/* API via a new praxisClient. Honors the "no component reads another's DB" invariant (AC#12). PraxisConfig.DBPath -> URL. - Hexis confirmation gate: mutating capabilities (ReadOnly=false) now park a bound pendingHexis confirmation and require a spoken "да" before executing; read-only run immediately (AC#7, no auto attention->action). - Capability safety: >1 verb match is ambiguous -> ask instead of firing the first; ambiguous Nexus resolution asks for clarification (AC#2). - Correlation IDs on Hexis execute, recorded in the cross-service trace. - Bug: importance arrives as JSON float64 over HTTP, not int. - Tests: confirm-gate, decline, read-only, and ambiguity paths. Build: vendor/ bakes in the hexis client (replace-directed at a sibling repo outside the Docker context); Dockerfile builds from vendor and no longer `go mod download`s the unreachable replace paths. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
101 lines
3.5 KiB
Makefile
101 lines
3.5 KiB
Makefile
# Copyright 2024 The Sqlite Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style
|
|
# license that can be found in the LICENSE file.
|
|
|
|
.PHONY: all build_all_targets clean edit editor test vendor work
|
|
|
|
# Pinned deduplicator. undup folds byte-identical declarations shared across the
|
|
# per-target generated files in lib/ and vec/ into build-tagged shared files,
|
|
# keeping each tag's module download under Go's 500MB cap. Bump deliberately.
|
|
UNDUP = modernc.org/undup@v0.0.5
|
|
|
|
all: editor
|
|
golint 2>&1
|
|
staticcheck 2>&1
|
|
|
|
build_all_targets:
|
|
GOOS=darwin GOARCH=amd64 go test -c -o /dev/null
|
|
GOOS=darwin GOARCH=amd64 go build -v ./...
|
|
GOOS=darwin GOARCH=arm64 go test -c -o /dev/null
|
|
GOOS=darwin GOARCH=arm64 go build -v ./...
|
|
GOOS=freebsd GOARCH=amd64 go test -c -o /dev/null
|
|
GOOS=freebsd GOARCH=amd64 go build -v ./...
|
|
GOOS=freebsd GOARCH=386 go test -c -o /dev/null
|
|
GOOS=freebsd GOARCH=386 go build -v ./...
|
|
GOOS=freebsd GOARCH=arm go test -c -o /dev/null
|
|
GOOS=freebsd GOARCH=arm go build -v ./...
|
|
GOOS=freebsd GOARCH=arm64 go test -c -o /dev/null
|
|
GOOS=freebsd GOARCH=arm64 go build -v ./...
|
|
GOOS=linux GOARCH=386 go test -c -o /dev/null
|
|
GOOS=linux GOARCH=386 go build -v ./...
|
|
GOOS=linux GOARCH=amd64 go test -c -o /dev/null
|
|
GOOS=linux GOARCH=amd64 go build -v ./...
|
|
GOOS=linux GOARCH=arm go test -c -o /dev/null
|
|
GOOS=linux GOARCH=arm go build -v ./...
|
|
GOOS=linux GOARCH=arm64 go test -c -o /dev/null
|
|
GOOS=linux GOARCH=arm64 go build -v ./...
|
|
GOOS=linux GOARCH=loong64 go test -c -o /dev/null
|
|
GOOS=linux GOARCH=loong64 go build -v ./...
|
|
GOOS=linux GOARCH=ppc64le go test -c -o /dev/null
|
|
GOOS=linux GOARCH=ppc64le go build -v ./...
|
|
GOOS=linux GOARCH=riscv64 go test -c -o /dev/null
|
|
GOOS=linux GOARCH=riscv64 go build -v ./...
|
|
GOOS=linux GOARCH=s390x go test -c -o /dev/null
|
|
GOOS=linux GOARCH=s390x go build -v ./...
|
|
GOOS=netbsd GOARCH=amd64 go test -c -o /dev/null
|
|
GOOS=netbsd GOARCH=amd64 go build -v ./...
|
|
GOOS=openbsd GOARCH=amd64 go test -c -o /dev/null
|
|
GOOS=openbsd GOARCH=amd64 go build -v ./...
|
|
GOOS=openbsd GOARCH=arm64 go test -c -o /dev/null
|
|
GOOS=openbsd GOARCH=arm64 go build -v ./...
|
|
GOOS=windows GOARCH=386 go test -c -o /dev/null
|
|
GOOS=windows GOARCH=386 go build -v ./...
|
|
GOOS=windows GOARCH=amd64 go test -c -o /dev/null
|
|
GOOS=windows GOARCH=amd64 go build -v ./...
|
|
GOOS=windows GOARCH=arm64 go test -c -o /dev/null
|
|
GOOS=windows GOARCH=arm64 go build -v ./...
|
|
echo done
|
|
|
|
clean:
|
|
rm -f log-* cpu.test mem.test *.out go.work*
|
|
go clean
|
|
|
|
edit:
|
|
@if [ -f "Session.vim" ]; then gvim -S & else gvim -p Makefile go.mod builder.json all_test.go & fi
|
|
|
|
editor:
|
|
go test -c -o /dev/null
|
|
go build -v -o /dev/null ./...
|
|
cd vendor_libs && go build -o /dev/null main.go
|
|
|
|
test:
|
|
go test -v -timeout 24h
|
|
|
|
vendor:
|
|
# Reconstruct full per-target files (a no-op the first time), so the freshly
|
|
# vendored transpiles overwrite a clean tree with no stale shared files.
|
|
go run $(UNDUP) -expand -dir lib
|
|
go run $(UNDUP) -expand -dir vec
|
|
cd vendor_libs && go build -o ../vendor main.go
|
|
./vendor
|
|
rm -f vendor
|
|
# Fold byte-identical declarations back into build-tagged shared files. undup
|
|
# only touches files carrying the generated-code marker, never hand-written
|
|
# platform files (libsqlite3_*.go, hooks_*.go, ...).
|
|
go run $(UNDUP) -dir lib
|
|
go run $(UNDUP) -dir vec
|
|
gofmt -s -w lib/sqlite*.go vec/vec*.go
|
|
make build_all_targets
|
|
|
|
work:
|
|
rm -f go.work*
|
|
go work init
|
|
go work use .
|
|
go work use ../cc/v4
|
|
go work use ../ccgo/v3
|
|
go work use ../ccgo/v4
|
|
go work use ../libc
|
|
go work use ../libtcl8.6
|
|
go work use ../libsqlite3
|
|
go work use ../libz
|