Commit Graph

92 Commits (v0.7.10)

Author SHA1 Message Date
Vernon Keenan a0cd40f1cf
Remove shared go-force dependency (#13) 2026-07-22 12:49:36 -07:00
Vernon Keenan 543c5dc2e6
Merge pull request #12 from vernonkeenan/agent/fix-gitea-mirror-sync
Repair Gitea mirror sync
2026-07-22 11:15:39 -07:00
Vernon Keenan 8f853d056d fix: repair Gitea mirror sync 2026-07-22 18:15:00 +00:00
Vernon Keenan 58ebde8660
Merge pull request #11 from vernonkeenan/agent/adr-kv-024-rollout
Add native service principal contract
2026-07-22 11:13:40 -07:00
Vernon Keenan 5ad4f6103e feat: add native service principal contract 2026-07-22 18:12:56 +00:00
Vernon Keenan edd36034e6
Merge pull request #10 from vernonkeenan/feat/credential-lifecycle-contract
feat: propagate Members credential contract
2026-07-18 20:22:02 -07:00
Vernon Keenan 9665671b8e feat: propagate Members credential contract 2026-07-19 03:01:22 +00:00
Vernon Keenan 3cd528a60d
Merge pull request #9 from vernonkeenan/feat/estate-admin-members-contract
regen: propagate Estate Administrator Members client
2026-07-18 17:44:09 -07:00
Vernon Keenan 5e0f3d888a regen: synchronize final membership concurrency contract 2026-07-18 23:20:56 +00:00
Vernon Keenan c67edb84f3 regen: add Estate Administrator Members client 2026-07-18 23:18:59 +00:00
Vernon Keenan 5150a23071
Merge pull request #8 from vernonkeenan/feat/shared-portal-members-client
Regenerate shared portal Members Go client
2026-07-16 21:38:57 -07:00
Vernon Keenan 1ceb27f03e docs: prepare portal client release 2026-07-17 04:37:23 +00:00
Vernon Keenan ef728b5483 regen: add shared portal members Go client 2026-07-17 01:22:20 +00:00
Vernon Keenan 3818d47e5d
Merge pull request #7 from vernonkeenan/ci/runner-local-caches
ci: eliminate remote-cache download round-trips on the self-hosted runner (DT-KV-018)
2026-07-14 17:12:31 -07:00
Vernon Keenan 2fadfe94a7 ci: eliminate remote-cache download round-trips on the self-hosted runner (DT-KV-018)
See DT-KV-018 in kv-meta (PR #19) for the measured evidence.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 23:51:11 +00:00
Vernon Keenan f26fd154b3
Merge pull request #6 from vernonkeenan/docs/readme-changelog-refresh
docs: refresh README.md and CHANGELOG.md to the constellation docs standard
2026-07-14 12:32:23 -07:00
Vernon Keenan e74c58f952 docs: refresh README.md and CHANGELOG.md to the constellation docs standard
Fix stale/misattributed facts introduced by the README.md and CHANGELOG.md refresh: correct the CI ADR attribution (ADR-KV-014 for lib's first pipeline, not solely ADR-KV-013), mark the go-swagger untagged-operation bug as already resolved (sf-gate #3, PR #5) instead of still-live, and correct the legacy-branch count (~70, not ~150) and the changelog's overclaimed 'every tag is annotated' statement (only v0.7.5 is).

Part of the go-mesh docs refresh: every governed member repo gets a
README on the shared mesh template (constellation context, API surface,
build/run/test, configuration, release & deploy) and a Keep-a-Changelog
CHANGELOG derived from real git tags and history.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 19:31:08 +00:00
Vernon Keenan c818c034cd
Merge pull request #5 from vernonkeenan/feat/regen-clients-processor-token
regen: refresh all sibling clients (go-swagger v0.35.0)
2026-07-12 00:23:36 -07:00
Vernon Keenan add52157dd regen: refresh all sibling clients (go-swagger v0.35.0)
Runs scripts/release.sh regen against current origin/main specs for
auth, crm, stash, sf-gate, research, members, and plex. Picks up:

- members PaymentMethod: processor_token/tenant_id replace card_* columns
  (go/db v0.7.3, ADR-KV-014 first exercise) — generated model now carries
  ProcessorToken/TenantID with no Card* fields.
- sf-gate: PUT /researchprojectservices now has a tags: entry (sf-gate #3),
  so its operation generates into the research_projects package under
  --client-package instead of falling back to an untagged operations
  package that broke the build.
- members: session handoff endpoints and onboard_request model (current
  members spec); webhooks/clerk endpoints removed (retired upstream).

Also bumps go-openapi/runtime v0.26.2 -> v0.32.4 (go mod tidy) — go-swagger
v0.35.0 client templates reference runtime.ContextualTransport, which
v0.26.2 doesn't have; this is a genuine dependency floor bump, not the
known untagged-operation issue documented in release.sh (that issue is
resolved by sf-gate #3 and no longer reproduces here).

go build ./..., go vet ./..., and go test ./... all pass on the
regenerated tree.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 07:22:01 +00:00
Vernon Keenan e676f0e6b8
Update PaymentMethod swagger def for processor_token migration (#4)
go/db v0.7.3 replaced the card_* columns with processor_token. Drop
CardHolderName/CardNumber/CardType/ExpirationMonth/ExpirationYear and
add ProcessorToken + TenantID to match prod DDL truth (sql/members.sql).

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 00:01:14 -07:00
Vernon Keenan 05b7ffcca2
Merge pull request #3 from vernonkeenan/feat/scripted-release
feat: replace manual release ritual with make release (ADR-KV-014)
2026-07-11 23:52:07 -07:00
Vernon Keenan 8ef777c7e6 feat: replace manual release ritual with `make release` (ADR-KV-014)
The README's "Update Procedure" required three web UIs (GitHub branch
defaults, GitHub releases, Gitea "Synchronize Now") and a go-swagger CLI
installed nowhere. Now that lib is main+tags instead of branch-per-version,
replace it with scripts/release.sh driven through the Makefile:

- `make install-swagger` installs a pinned go-swagger (v0.35.0) and
  verifies the version.
- `make regen` copies the sibling service specs and regenerates api/
  clients exactly as the old `make swagger` ritual did, failing fast if
  a sibling spec is missing. Regen output is reviewed/committed as its
  own PR, same as any other change.
- `make release VERSION=vX.Y.Z` / `make release-dry-run VERSION=vX.Y.Z`
  validate semver + monotonicity, require a clean main checkout synced
  with origin/main, tag, push, `gh release create`, and POST to the
  Gitea mirror-sync API for the vernonkeenan/lib and work/lib mirrors
  (skipped with a loud warning if GITEA_TOKEN is unset).

Also scope the CI push trigger to `main` + `v*` tags instead of every
branch, so PRs (which already run via the `pull_request` trigger) stop
double-running.

Verified locally: bash -n + shellcheck clean; install-swagger into a
temp GOBIN across go-swagger v0.33.2-v0.35.0; semver/monotonicity/
tag-exists/branch/origin-sync validation failure paths; a full regen
against the real sibling specs in a scratch dir (never the checked-out
api/swagger). That regen surfaced a real go-swagger limitation --
documented in the README and as a warning in the script -- reproduced
across all four installable versions: an untagged operation in
sf-gate-vernonkeenan.yaml produces a client that doesn't compile.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 06:49:23 +00:00
Vernon Keenan a906d56678
Merge pull request #2 from vernonkeenan/test/app-service-helpers
Add unit tests for app/service-helpers.go pure helpers
2026-07-11 23:20:48 -07:00
Vernon Keenan 36d068664d Add table-driven unit tests for app/service-helpers.go pure helpers
GetFieldsAndValues, SqlDateToString, ParseDateTime, and IsZero had zero
test coverage even though they're pure, hermetic logic with several
non-obvious behaviors (e.g. strings always count as "non-zero", arrays
are compared by length only, and the dateTimeFormat's "-0800" suffix is
a Go reference-time artifact that behaves as a literal string rather
than a real timezone offset). Locking these in with tests now, ahead of
any future refactor of this file, so behavior changes are caught
instead of silently shipped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 06:07:44 +00:00
Vernon Keenan 48d3f6a97a
Merge pull request #1 from vernonkeenan/ci/first-ci-gitleaks
ci: first-ever build/vet/test + gitleaks CI (ADR-KV-014)
2026-07-11 23:00:40 -07:00
Vernon Keenan c7327fd313 ci: add first-ever build/vet/test + gitleaks CI (ADR-KV-014)
lib is publicly mirrored on code.tnxs.net and had no CI at all. Add
.github/workflows/push.yml gating every push/PR on the private
self-hosted runner (ADR-KV-004): a test job (go build/vet/test) and a
gitleaks secret-scan job using the official docker image directly
(gitleaks/gitleaks-action needs an org license we don't have).

The gitleaks history scan surfaced 6 findings, all illustrative
`example:` JWTs hardcoded by swagger-codegen into the generated Kazoo
API client models and the vendored Kazoo swagger spec — placeholders
from the vendor's public docs, not real credentials. Added a minimal
.gitleaks.toml allowlist scoped to just those four generated files so
CI runs clean without masking real findings elsewhere.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 05:23:59 +00:00
Vernon Keenan a13ad35fe2 feat(api): Generate session management API client and models
- Added `get_me` and `refresh_session` parameters and responses for user session management.
- Implemented `sessions_client` for handling session-related API calls.
- Created models for `Credentials`, `Category`, `Product`, and `Service` with validation.
- Defined Swagger specifications for `Credentials`.
- Ensured all generated files are marked as non-editable to prevent manual changes.
2025-05-27 03:20:36 +00:00
Vernon Keenan 2e3fdeec39 Refactor Swagger definitions to use external references for Address, CompanyProduct, CompanyService, Factor, FinancialStatement, Industry, IndustryCompany, IndustryProduct, IndustryService, Observation, and Topic. This improves modularity and maintainability of the API specification. 2025-05-01 18:45:54 +00:00
Vernon Keenan 7b878f86d5 feat: Replace AccountID with CompanyID in GetIndustryCompaniesParams and update related Swagger definitions 2025-04-30 18:42:56 +00:00
Vernon Keenan 6f44181e08 feat: Add enrichment fields to Account, CompanyProduct, and CompanyService models 2025-04-29 04:48:58 +00:00
Vernon Keenan 18bfdecdbe Refactor code structure for improved readability and maintainability 2025-04-29 04:22:59 +00:00
Vernon Keenan e64482991c feat: Add Channels field to Account and Contact models
The code changes include adding the `Channels` field to the `Account` and `Contact` models in the `crm` and `sfgate` packages. This field is used to store the marketing channels for the respective entities.
2024-06-30 21:03:06 +00:00
Vernon Keenan 7eb2060c65 feat: Add AppExchange URL field to CompanyProduct model 2024-06-29 00:23:11 +00:00
Vernon Keenan 6846446ffa feat: Add AppExchange URL field to CompanyProduct model
The code changes include adding the `AppExchange` field to the `CompanyProduct` model in the `sfgate` package. This field is used to store the Salesforce AppExchange URL.
2024-06-28 23:09:29 +00:00
Vernon Keenan 4d2d5bf861 feat: Add AppExchange URL field to Account and Company models
The code changes include adding the `AppExchange` field to the `Account` and `Company` models in the `sfgate` and `plex` packages. This field is used to store the Salesforce AppExchange URL.
2024-06-28 22:40:38 +00:00
Vernon Keenan 29f3ad980d Add FullDescription field to Account model and related structs 2024-06-27 18:26:58 +00:00
Vernon Keenan 6d0cc3e67d Add FullDescription field to Industry model and related structs 2024-01-22 15:39:53 +00:00
Vernon Keenan c06ed9fdc5 back in gear 2023-08-25 20:59:50 +00:00
Vernon Keenan fce4123f02 members updates tested 2023-06-18 16:39:28 +00:00
Vernon Keenan 302e50b058 prompt again 2023-06-17 21:00:19 +00:00
Vernon Keenan f0a768157c prompt answer response 2023-06-17 16:42:54 +00:00
Vernon Keenan 7f54aa7811 prompt promptanswers 2023-06-17 01:24:46 +00:00
Vernon Keenan b3029bf4f5 prompts 2023-06-05 19:44:18 +00:00
Vernon Keenan 5f6047db4d ExternalAccount 2023-06-05 00:09:35 +00:00
Vernon Keenan 8958a4bc42 prompts 2023-06-04 23:54:48 +00:00
Vernon Keenan 6f7d308ba6 cleanup 2023-05-29 15:13:02 +00:00
Vernon Keenan 4819dfa8a5 services 2023-05-28 16:22:37 +00:00
Vernon Keenan 8e1826b734 Documents 2023-05-19 23:55:12 +00:00
Vernon Keenan de5fff1e75 favorites 2023-05-14 21:32:28 +00:00
Vernon Keenan e9c37cf71d research, favorites, refactor 2023-05-13 16:46:48 +00:00