Skip to content

docs: trim back-to-back django-axes references#11

Merged
rodrigobnogueira merged 1 commit into
mainfrom
docs/trim-django-axes-mentions
Jul 20, 2026
Merged

docs: trim back-to-back django-axes references#11
rodrigobnogueira merged 1 commit into
mainfrom
docs/trim-django-axes-mentions

Conversation

@rodrigobnogueira

Copy link
Copy Markdown
Contributor

The root and core READMEs each mentioned django-axes in both the tagline and the immediately-following body line — the same positioning twice. Dropped the body repeat in each (README 5→4, core README 5→4 mentions). Kept every load-bearing reference: the tagline positioning, the readthedocs link, the user_login_failed-signal explanation, the spoofable-IP security note, and the not-affiliated disclaimer. Docs-only.

Both the root and core READMEs said 'django-axes-style … engine' in the
tagline AND the opening body line. Dropped the body repeat in each; the
positioning tagline, the django-axes.readthedocs link, the user_login_failed
signal explanation, the spoofable-IP note, and the not-affiliated disclaimer
all stay — each carries real information.
@github-actions

Copy link
Copy Markdown

📊 Coverage Coverage Report

Metric PR Base Diff
Statements ████████████████████ 897/897 (100%) 897/897 (100%) ⚪ 0%
Branches ████████████████████ 151/151 (100%) 151/151 (100%) ⚪ 0%
Functions ████████████████████ 50/50 (100%) 50/50 (100%) ⚪ 0%
Lines ████████████████████ 897/897 (100%) 897/897 (100%) ⚪ 0%

Updated for c36fbba | Compared against base branch

@github-actions

Copy link
Copy Markdown

⏱️ Performance Report

✅ Tests 86 passed, 0 failed, 0 skipped
🧪 Suites 20
⏱️ Total step time 25.00s 🟢 -1.00s
⚙️ Test execution 20.72s 🔴 +136ms
🐢 Slowest test suites
# Suite Tests Duration vs Base
1 LockoutStore contract — postgres (pglite) 5 10.33s 🟢 -133ms
2 LockoutStore contract — sqlite (better-sqlite3) 5 22ms ⚪ ~0
3 MysqlLockoutStore (real drizzle-mysql2 builder, fake client) 5 16ms ⚪ ~0
4 @authlock/core acceptance (framework-neutral login flow) 2 4ms ⚪ ~0
5 lockout table schema parity 4 2ms ⚪ ~0
6 LockoutManager — configuration validation 7 2ms ⚪ ~0
7 LockoutStore contract — in-memory 5 1ms ⚪ ~0
8 InMemoryLockoutStore 6 1ms ⚪ ~0
9 deriveKeys 8 1ms ⚪ ~0
10 LockoutManager — basic lifecycle 4 1ms ⚪ ~0
🐌 Slowest individual tests
# Suite Test Duration vs Base
1 LockoutStore contract — postgres (pglite) LockoutStore contract — postgres (pglite) creates, increments (advancing lastFailureAt), then resets after the window 2.58s ⚪ ~0
2 LockoutStore contract — postgres (pglite) LockoutStore contract — postgres (pglite) clears a single key 1.96s ⚪ ~0
3 LockoutStore contract — postgres (pglite) LockoutStore contract — postgres (pglite) counts concurrent increments exactly — no lost updates 1.94s ⚪ ~0
4 LockoutStore contract — postgres (pglite) LockoutStore contract — postgres (pglite) clearExpired removes only records older than the cutoff and counts them 1.93s ⚪ ~0
5 LockoutStore contract — postgres (pglite) LockoutStore contract — postgres (pglite) reads a stored record, or null when the key is unknown 1.93s ⚪ ~0
6 LockoutStore contract — sqlite (better-sqlite3) LockoutStore contract — sqlite (better-sqlite3) counts concurrent increments exactly — no lost updates 10ms ⚪ ~0
7 MysqlLockoutStore (real drizzle-mysql2 builder, fake client) MysqlLockoutStore (real drizzle-mysql2 builder, fake client) increment issues an atomic windowed upsert then re-reads the row 8ms ⚪ ~0
8 MysqlLockoutStore (real drizzle-mysql2 builder, fake client) MysqlLockoutStore (real drizzle-mysql2 builder, fake client) get returns null when no row exists 6ms ⚪ ~0
9 LockoutStore contract — sqlite (better-sqlite3) LockoutStore contract — sqlite (better-sqlite3) creates, increments (advancing lastFailureAt), then resets after the window 6ms ⚪ ~0
10 @authlock/core acceptance (framework-neutral login flow) @authlock/core acceptance (framework-neutral login flow) locks a brute-force loop after the limit, then recovers after cooloff 2ms ⚪ ~0
11 LockoutStore contract — sqlite (better-sqlite3) LockoutStore contract — sqlite (better-sqlite3) reads a stored record, or null when the key is unknown 2ms ⚪ ~0
12 LockoutStore contract — sqlite (better-sqlite3) LockoutStore contract — sqlite (better-sqlite3) clearExpired removes only records older than the cutoff and counts them 2ms ⚪ ~0
13 @authlock/core acceptance (framework-neutral login flow) @authlock/core acceptance (framework-neutral login flow) exposes a semver-shaped version 1ms ⚪ ~0
14 MysqlLockoutStore (real drizzle-mysql2 builder, fake client) MysqlLockoutStore (real drizzle-mysql2 builder, fake client) get returns the mapped record when present 1ms ⚪ ~0
15 MysqlLockoutStore (real drizzle-mysql2 builder, fake client) MysqlLockoutStore (real drizzle-mysql2 builder, fake client) clear deletes by key 1ms ⚪ ~0

Updated for c36fbba | Compared against base branch

@github-actions

Copy link
Copy Markdown

🧠 Cognitive Complexity Report

Metric PR Base Diff
Total complexity 64 64 ⚪ 0
Max function complexity 11 11 ⚪ 0
Functions measured 25 25 ⚪ 0
🧩 Most complex functions
Function Location Complexity Status
validateTiers packages/core/manager.ts:27 11 🟢 OK
deriveKeys packages/core/key.ts:26 8 🟢 OK
cooloffFor packages/core/policy.ts:10 4 🟢 OK
evaluateRecord packages/core/policy.ts:78 4 🟢 OK
mostRestrictive packages/core/manager.ts:86 3 🟢 OK
LockoutManager.clearKeys packages/core/manager.ts:221 3 🟢 OK
LockoutManager.applyFailure packages/core/manager.ts:242 3 🟢 OK
effectiveWindowMs packages/core/policy.ts:33 3 🟢 OK
InMemoryLockoutStore.clearExpired packages/core/store/in-memory.ts:45 3 🟢 OK
LockoutManager.constructor packages/core/manager.ts:126 2 🟢 OK

🧭 Cognitive complexity is reported as a review signal, not a merge gate. Prefer small, intention-revealing refactors when complexity rises.


Updated for c36fbba | Compared against base branch

@rodrigobnogueira
rodrigobnogueira merged commit c904f5b into main Jul 20, 2026
11 checks passed
@rodrigobnogueira
rodrigobnogueira deleted the docs/trim-django-axes-mentions branch July 20, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant