Sync docs: ARCHITECTURE, PROJECT, PROJECT_PLAN
- ARCHITECTURE.md §12: add mciasdb, mciasgrpcctl, internal/grpcserver, proto/, and gen/ to the directory structure diagram - ARCHITECTURE.md §17: replace buf generate references with protoc; the implementation uses protoc + protoc-gen-go + protoc-gen-go-grpc invoked via go generate ./... (proto/generate.go) - PROJECT_PLAN.md §7.1: replace buf.yaml/buf.gen.yaml acceptance criteria with the protoc-based go:generate approach actually used - PROJECT_PLAN.md §7.6: clarify that gen/ is committed to the repo (not gitignored); only the binary /mciasgrpcctl is excluded - PROJECT.md: replace scrypt with Argon2id (the actual algorithm); remove the redundant Argon2 suggestion line
This commit is contained in:
@@ -317,13 +317,14 @@ transport security requirements.
|
||||
- `proto/mcias/v1/` directory contains `.proto` files for all service groups:
|
||||
`auth.proto`, `token.proto`, `account.proto`, `admin.proto`
|
||||
- All RPC methods mirror the REST API surface (see ARCHITECTURE.md §8 and §17)
|
||||
- `buf.yaml` / `buf.gen.yaml` configured; `buf generate` produces Go stubs under
|
||||
`gen/mcias/v1/`
|
||||
- `proto/generate.go` contains a `//go:generate protoc ...` directive that
|
||||
produces Go stubs under `gen/mcias/v1/` using `protoc-gen-go` and
|
||||
`protoc-gen-go-grpc`
|
||||
- Protobuf field conventions: `snake_case` field names, `google.protobuf.Timestamp`
|
||||
for all time fields, no credential fields in response messages (same exclusion
|
||||
rules as JSON API)
|
||||
- `go generate ./...` re-runs `buf generate` idempotently
|
||||
- Tests: generated code compiles cleanly; `buf lint` passes with zero warnings
|
||||
- `go generate ./...` re-runs `protoc` idempotently
|
||||
- Tests: generated code compiles cleanly (`go build ./...` succeeds)
|
||||
|
||||
### Step 7.2: `internal/grpcserver` — gRPC handler implementations
|
||||
**Acceptance criteria:**
|
||||
@@ -379,8 +380,9 @@ transport security requirements.
|
||||
interceptor chain, dual-stack operation)
|
||||
- README.md updated with gRPC section: enabling gRPC, connecting clients,
|
||||
example `grpcurl` invocations
|
||||
- `.gitignore` updated to exclude `mciasgrpcctl` binary and `gen/` directory
|
||||
(generated code committed separately or excluded per project convention)
|
||||
- `.gitignore` updated to exclude the `mciasgrpcctl` binary (using a
|
||||
root-anchored path `/mciasgrpcctl`); generated code in `gen/` is committed
|
||||
to the repository so that consumers do not need the protoc toolchain
|
||||
- `PROGRESS.md` updated to reflect Phase 7 complete
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user