Skip to content

Commit d8ec837

Browse files
author
Convilyn Release
committed
Release v1.1.1b1
Generated public mirror snapshot.
0 parents  commit d8ec837

101 files changed

Lines changed: 14956 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: 🐛 Bug report
3+
about: Something in convilyn doesn't work as documented
4+
title: 'bug: '
5+
labels: ['bug', 'needs-triage']
6+
---
7+
8+
### What happened
9+
10+
<!-- A clear description of the bug and what you expected instead. -->
11+
12+
### Reproduction
13+
14+
<!-- Minimal steps or a code snippet. Please redact any real API keys. -->
15+
16+
```
17+
```
18+
19+
### Environment
20+
21+
- `convilyn` version:
22+
- Python version:
23+
- OS:
24+
25+
### Logs / traceback
26+
27+
<!-- Paste the relevant output. Scrub keys/tokens/hostnames before posting. -->
28+
29+
```
30+
```
31+
32+
<!-- Fixes are upstreamed into Convilyn's monorepo, then released here — see
33+
CONTRIBUTING.md. A PR is welcome (remember `git commit -s` for the DCO). -->

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 📚 Documentation
4+
url: 'https://docs.convilyn.corenovus.com'
5+
about: Install, quickstart, and API reference — check here first.
6+
- name: 🔒 Report a security vulnerability
7+
url: '../../security/advisories/new'
8+
about: Do NOT open a public issue for vulnerabilities — use a private advisory.
9+
- name: 💬 Questions & discussion
10+
url: '../../discussions'
11+
about: Ask how-to questions and discuss ideas with the community.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
name: 💡 Feature request
3+
about: Suggest a capability or API change
4+
title: 'feat: '
5+
labels: ['enhancement', 'needs-triage']
6+
---
7+
8+
### Problem
9+
10+
<!-- What are you trying to do that's hard or impossible today? -->
11+
12+
### Proposed solution
13+
14+
<!-- What would the API / behaviour look like? -->
15+
16+
### Alternatives considered
17+
18+
<!-- Anything you tried or ruled out. -->
19+
20+
> Note: API / behaviour changes are upstreamed into Convilyn's cross-language
21+
> contract, so a maintainer will confirm the direction before implementation.
22+
> Please open this issue **before** a PR for behaviour changes (see CONTRIBUTING.md).

.github/ISSUE_TEMPLATE/question.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: ❓ Question
3+
about: How do I…? (check the docs first)
4+
title: 'question: '
5+
labels: ['question', 'needs-triage']
6+
---
7+
8+
<!-- Please check https://docs.convilyn.corenovus.com first — many how-to answers live there. -->
9+
10+
### What are you trying to do
11+
12+
<!-- Describe your goal, and what you've tried. -->
13+
14+
### Relevant code / config
15+
16+
```
17+
```
18+
19+
### Environment
20+
21+
- `convilyn` version:

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<!--
2+
Thanks for contributing to convilyn-python! This is a public mirror — see CONTRIBUTING.md
3+
for how your PR reaches the upstream monorepo (and gets credited to you).
4+
-->
5+
6+
## What & why
7+
8+
<!-- 1–3 sentences: what this changes and the motivation. Link the issue it
9+
addresses (behaviour/API changes should have an issue first). -->
10+
11+
Closes #
12+
13+
## How verified
14+
15+
<!-- Bullet list: tests added/updated, commands you ran, what you observed. -->
16+
17+
-
18+
19+
## Checklist
20+
21+
- [ ] Every commit is **signed off** (`git commit -s` — DCO). See CONTRIBUTING.md.
22+
- [ ] Tests added/updated; the CI is green.
23+
- [ ] For behaviour/API changes: a linked issue confirmed the direction.
24+
- [ ] No secrets, internal hostnames, or internal identifiers added.
25+
- [ ] I agree my contribution is provided under this project's **Apache-2.0**
26+
license (inbound = outbound).
27+
28+
<!--
29+
Note: this PR is reviewed here, then upstreamed into Convilyn's monorepo (your
30+
authorship preserved) where the full contract/conformance CI runs. Once merged
31+
there, this mirror is refreshed and this PR is closed as "Upstreamed in #N".
32+
-->

.github/workflows/ci.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Public-mirror CI (fork-safe). Runs on every push + community PR.
2+
#
3+
# SECURITY POSTURE (do not weaken):
4+
# * permissions: contents: read ONLY — no write scope.
5+
# * NO secrets are referenced — so a fork PR can never exfiltrate one.
6+
# * trigger is `pull_request` (NOT `pull_request_target`) — the classic
7+
# fork-secret footgun is intentionally avoided.
8+
#
9+
# The internal-vocabulary (blackbox) gate + contract/conformance run in the
10+
# UPSTREAM monorepo when a community PR is upstreamed — deliberately NOT here:
11+
# shipping the internal-term blocklist into a public repo would itself leak
12+
# internal architecture vocabulary. So this CI covers lint / type / test /
13+
# secret-scan; every PR is vocabulary-checked at the upstream step, and the
14+
# mirror is only ever refreshed from the (already-clean) monorepo.
15+
name: ci
16+
17+
on:
18+
push:
19+
branches: [main]
20+
pull_request:
21+
22+
permissions:
23+
contents: read
24+
25+
concurrency:
26+
group: ci-${{ github.ref }}
27+
cancel-in-progress: true
28+
29+
jobs:
30+
test:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v4
34+
- uses: actions/setup-python@v5
35+
with:
36+
python-version: '3.12'
37+
- name: Install (editable + dev extras)
38+
run: python -m pip install -e ".[dev]"
39+
- name: Lint (ruff)
40+
run: python -m ruff check .
41+
- name: Format check (ruff)
42+
run: python -m ruff format --check .
43+
- name: Typecheck
44+
run: python -m pyright . || python -m mypy . # whichever the package uses
45+
- name: Tests
46+
run: python -m pytest
47+
48+
secret-scan:
49+
runs-on: ubuntu-latest
50+
steps:
51+
- uses: actions/checkout@v4
52+
- uses: actions/setup-python@v5
53+
with:
54+
python-version: '3.12'
55+
- name: detect-secrets (against the shipped baseline)
56+
run: |
57+
python -m pip install detect-secrets==1.5.0
58+
# .secrets.baseline is scaffolded per repo; fail if any NEW secret appears.
59+
detect-secrets scan --baseline .secrets.baseline
60+
git diff --exit-code .secrets.baseline || {
61+
echo "::error::New secrets detected — review and update .secrets.baseline deliberately."; exit 1; }

.github/workflows/dco.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# DCO — verify every commit in a PR carries a `Signed-off-by` trailer.
2+
# Fork-safe: read-only, no secrets. See CONTRIBUTING.md ("Sign your commits").
3+
name: dco
4+
5+
on:
6+
pull_request:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
dco-check:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
- name: Check Signed-off-by on every commit
19+
run: |
20+
base="${{ github.event.pull_request.base.sha }}"
21+
head="${{ github.event.pull_request.head.sha }}"
22+
missing=0
23+
for c in $(git rev-list "$base".."$head"); do
24+
author="$(git show -s --format='%an <%ae>' "$c")"
25+
if ! git show -s --format='%b' "$c" | grep -qiE "^Signed-off-by: .+ <.+@.+>"; then
26+
echo "::error::commit $c ($author) is missing a Signed-off-by (DCO). Run: git commit -s (or git rebase --signoff)."
27+
missing=1
28+
fi
29+
done
30+
[ "$missing" -eq 0 ] && echo "All commits signed off ✔"
31+
exit $missing

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
__pycache__/
2+
*.py[cod]
3+
.venv/
4+
venv/
5+
dist/
6+
build/
7+
*.egg-info/
8+
.coverage
9+
coverage.xml
10+
.pytest_cache/
11+
.ruff_cache/
12+
.mypy_cache/

.pre-commit-config.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
repos:
2+
- repo: https://github.com/astral-sh/ruff-pre-commit
3+
rev: v0.6.9
4+
hooks:
5+
- id: ruff
6+
- id: ruff-format
7+
- repo: https://github.com/Yelp/detect-secrets
8+
rev: v1.5.0
9+
hooks:
10+
- id: detect-secrets
11+
args: ['--baseline', '.secrets.baseline']

.secrets.baseline

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"version": "1.5.0",
3+
"plugins_used": [
4+
{
5+
"name": "AWSKeyDetector"
6+
},
7+
{
8+
"name": "Base64HighEntropyString",
9+
"limit": 4.5
10+
},
11+
{
12+
"name": "GitHubTokenDetector"
13+
},
14+
{
15+
"name": "HexHighEntropyString",
16+
"limit": 3.0
17+
},
18+
{
19+
"name": "KeywordDetector"
20+
},
21+
{
22+
"name": "PrivateKeyDetector"
23+
}
24+
],
25+
"results": {}
26+
}

0 commit comments

Comments
 (0)