Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
60 changes: 60 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# yaml-language-server: $schema=https://www.coderabbit.ai/integrations/schema.v2.json
language: ko-KR
early_access: false

reviews:
profile: chill
request_changes_workflow: false
high_level_summary_in_walkthrough: true
review_status: true
review_progress: true
fail_commit_status: true
collapse_walkthrough: true
sequence_diagrams: false
poem: false
in_progress_fortune: false
auto_apply_labels: false
auto_assign_reviewers: false
auto_review:
enabled: true
drafts: false
auto_incremental_review: true
auto_pause_after_reviewed_commits: 0
finishing_touches:
docstrings:
enabled: false
unit_tests:
enabled: false
autofix:
enabled: false
fix_ci:
enabled: false
resolve_merge_conflict:
enabled: false
simplify:
enabled: false

knowledge_base:
code_guidelines:
enabled: false
learnings:
scope: local
issues:
scope: local
pull_requests:
scope: local
automatic_linking_mode: disabled
mcp:
usage: disabled

chat:
auto_reply: false
art: false

issue_enrichment:
auto_enrich:
enabled: false
planning:
enabled: false
labeling:
auto_apply_labels: false
17 changes: 0 additions & 17 deletions .github/ISSUE_TEMPLATE/benchmark_corpus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ description: Propose benchmark fixtures, corpus sources, or metric changes
title: "benchmark: "
labels: [benchmark]
body:
- type: markdown
attributes:
value: |
See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, acceptance, verification, and ownership.
- type: dropdown
id: kind
attributes:
Expand Down Expand Up @@ -35,16 +31,3 @@ body:
description: How should we know this improves patina without raising false positives?
validations:
required: true
- type: textarea
id: acceptance
attributes:
label: Scope and acceptance
description: See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, non-goals, acceptance, verification, risk, and ownership.
placeholder: |
Scope:
Non-goals:
Acceptance criteria:
Verification and risk:
Owner: maintainer until assigned
validations:
required: true
14 changes: 0 additions & 14 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ body:
attributes:
value: |
Thanks for reporting a bug. Please avoid sharing private or confidential text.
See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, acceptance, verification, and ownership.
- type: input
id: version
attributes:
Expand Down Expand Up @@ -52,16 +51,3 @@ body:
label: Actual behavior
validations:
required: true
- type: textarea
id: acceptance
attributes:
label: Scope and acceptance
description: See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, non-goals, acceptance, verification, risk, and ownership.
placeholder: |
Scope:
Non-goals:
Acceptance criteria:
Verification and risk:
Owner: maintainer until assigned
validations:
required: true
17 changes: 0 additions & 17 deletions .github/ISSUE_TEMPLATE/calibration_concern.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ description: Report a scoring threshold, false-positive, or false-negative conce
title: "calibration: "
labels: [benchmark]
body:
- type: markdown
attributes:
value: |
See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, acceptance, verification, and ownership.
- type: dropdown
id: concern_type
attributes:
Expand Down Expand Up @@ -42,16 +38,3 @@ body:
description: Explain what score range or pattern behavior would be more appropriate.
validations:
required: true
- type: textarea
id: acceptance
attributes:
label: Scope and acceptance
description: See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, non-goals, acceptance, verification, risk, and ownership.
placeholder: |
Scope:
Non-goals:
Acceptance criteria:
Verification and risk:
Owner: maintainer until assigned
validations:
required: true
14 changes: 0 additions & 14 deletions .github/ISSUE_TEMPLATE/false_positive.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ body:
Thanks for helping calibrate patina. Please share only text you are allowed to publish in a GitHub issue.

Good reports include the exact paragraph that fired, the score output, and enough context to tell whether the text should become an allowlist/fixture case.
See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, acceptance, verification, and ownership.
- type: dropdown
id: language
attributes:
Expand Down Expand Up @@ -95,16 +94,3 @@ body:
required: true
- label: I understand patina scores are editing signals, not authorship verdicts.
required: true
- type: textarea
id: acceptance
attributes:
label: Scope and acceptance
description: See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, non-goals, acceptance, verification, risk, and ownership.
placeholder: |
Scope:
Non-goals:
Acceptance criteria:
Verification and risk:
Owner: maintainer until assigned
validations:
required: true
14 changes: 0 additions & 14 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ body:
attributes:
value: |
Keep the request focused on the user workflow. Avoid pasting private writing samples.
See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, acceptance, verification, and ownership.
- type: dropdown
id: area
attributes:
Expand Down Expand Up @@ -36,16 +35,3 @@ body:
description: Optional. Mention workarounds or simpler variants.
validations:
required: false
- type: textarea
id: acceptance
attributes:
label: Scope and acceptance
description: See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, non-goals, acceptance, verification, risk, and ownership.
placeholder: |
Scope:
Non-goals:
Acceptance criteria:
Verification and risk:
Owner: maintainer until assigned
validations:
required: true
27 changes: 5 additions & 22 deletions .github/ISSUE_TEMPLATE/pattern_proposal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ description: Suggest a new AI-writing pattern or rewrite rule
title: "pattern: "
labels: [patterns]
body:
- type: markdown
attributes:
value: |
See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, acceptance, verification, and ownership.
- type: dropdown
id: language
attributes:
Expand Down Expand Up @@ -38,17 +34,17 @@ body:
- type: textarea
id: evaluation_fixture
attributes:
label: 50-document evaluation fixture
description: Link to a 25-hot / 25-cold fixture or manifest, or describe the collection plan required before promotion.
label: Evaluation examples or fixture
description: "Optional: link examples, a fixture, or a collection idea."
validations:
required: true
required: false
- type: textarea
id: measurement
attributes:
label: Precision / recall evidence
description: Paste the precision/recall or hot/cold firing summary when available; otherwise state what still blocks promotion.
description: "Optional: share existing measurements or questions to investigate."
validations:
required: true
required: false
- type: textarea
id: rewrite
attributes:
Expand All @@ -63,16 +59,3 @@ body:
description: When would this phrase or structure be legitimate human writing?
validations:
required: true
- type: textarea
id: acceptance
attributes:
label: Scope and acceptance
description: See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, non-goals, acceptance, verification, risk, and ownership.
placeholder: |
Scope:
Non-goals:
Acceptance criteria:
Verification and risk:
Owner: maintainer until assigned
validations:
required: true
18 changes: 0 additions & 18 deletions .github/ISSUE_TEMPLATE/research_proposal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ description: Propose an evaluation, corpus, detector comparison, or methodology
title: "research: "
labels: [research, benchmark]
body:
- type: markdown
attributes:
value: |
See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, acceptance, verification, and ownership.
Cancelled human-evaluation and human-labelled SNS studies require a new explicit owner request; maintenance work does not restart them.
- type: dropdown
id: research_type
attributes:
Expand Down Expand Up @@ -43,16 +38,3 @@ body:
description: What artifact should land in the repo when this is done?
validations:
required: true
- type: textarea
id: acceptance
attributes:
label: Scope and acceptance
description: See the [Issue/PR workflow](https://github.com/devswha/patina/blob/dev/docs/WORKFLOW.md) for scope, non-goals, acceptance, verification, risk, and ownership.
placeholder: |
Scope:
Non-goals:
Acceptance criteria:
Verification and risk:
Owner: maintainer until assigned
validations:
required: true
21 changes: 3 additions & 18 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,7 @@
## Summary
## Changes

What changes, and why? Policy: [`docs/WORKFLOW.md`](../docs/WORKFLOW.md)

Refs #... (or why this low-risk change needs no Issue)

## Scope and risk

- Contract impact: compatible / intentional change / retirement / none
- Not changed by this PR:
- Size: reviewable lines/files; list generated files, lockfiles and moves
separately. Over 600 lines or 15 files needs a reason and owner approval.
What changed, and why? Link related issues if useful.

## Verification

- Commands run and their results (exit codes):
- Checks not run, and why (see [`docs/QA.md`](../docs/QA.md)):

## Release and rollback

- Semver impact (the version bump belongs in the release PR):
- Rollback:
Relevant commands, results, and remaining uncertainties.
4 changes: 2 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2
updates:
- package-ecosystem: npm
directory: /
target-branch: dev
target-branch: main
schedule:
interval: weekly
open-pull-requests-limit: 1
Expand All @@ -14,7 +14,7 @@ updates:
- minor
- package-ecosystem: github-actions
directory: /
target-branch: dev
target-branch: main
schedule:
interval: weekly
open-pull-requests-limit: 1
37 changes: 35 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Tests

on:
push:
branches: [main, dev]
branches: [main]
pull_request:
branches: [main, dev]
branches: [main]
workflow_dispatch:

permissions:
Expand Down Expand Up @@ -58,6 +58,8 @@ jobs:
- name: Run tests
if: matrix.node-version != '18.1.0'
run: npm test
env:
NPM_CONFIG_OFFLINE: "true"

- name: Run minimum Node smoke
if: matrix.node-version == '18.1.0'
Expand Down Expand Up @@ -169,3 +171,34 @@ jobs:
echo '::error::tests/unit/quota-redis.test.js did not execute against real Redis (non-zero skip count).'
exit 1
}

browser:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 24
cache: npm
- name: Install dependencies
run: npm ci
- name: Install Chromium and system dependencies
run: npx --no-install playwright install --with-deps chromium
- name: Browser regression with local transport fixtures
run: npm run test:browser

release-install:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 24
cache: npm
- name: Install dependencies
run: npm ci
- name: Registry-backed package installation smoke
# Explicit network profile: ordinary npm test never installs dependencies.
run: npm run test:release-install
Loading
Loading