Nova v0.1.0 — Initial Public Prototype
Nova لغة ونظام تشغيل تجريبيان لتنفيذ وكلاء واعين بالقدرات. تجعل Nova الوكلاء والرسائل والقدرات الخطية والعقود والتفاوض والأدلة جزءًا من نموذج التنفيذ بدل تركها اتفاقيات خارجية بين التطبيقات.
لماذا Nova؟
تواجه الأنظمة متعددة الوكلاء صعوبة في ضبط الصلاحيات، ومنع إعادة استخدام الموارد الحساسة، وإثبات ما حدث أثناء التنفيذ. تقدم Nova نواة حتمية صغيرة تجمع بين فحص ساكن للأنواع والقدرات، وBytecode VM بإطارات محلية، ورسائل موثقة، وسلسلة Evidence قابلة للتحقق.
التثبيت من wheel
بعد بناء المشروع محليًا:
python -m pip install dist/nova_agent_language-0.1.0-py3-none-any.whl
nova --help
تجربة سريعة
nova check examples/hello.nova
nova run examples/hello.nova
python -m unittest discover -s tests -v
Architecture
Nova source → Lexer → Parser → AST → Type/Capability Checker
→ Nova IR → Bytecode → deterministic VM
→ Proof/Evidence and optional authenticated transport
يحتوي المستودع على nova/ast.py للنماذج، وlexer.py وparser.py للغة، وruntime.py للفحص والترجمة والتنفيذ، وdistributed.py للنقل الموثق، وtests/ لاختبارات اللغة وhardening.
Syntax مختصرة
تعرّف Nova الوكلاء والأفعال والقدرات والرسائل، مثل:
agent Greeter {
action hello(name: Int) -> Proof {
return proof
}
}
يدعم parser أيضًا if/else، التعبيرات الحسابية والمنطقية، send وreceive، negotiate، حالات accept/reject/counter/defer/retry، واستدعاء الأفعال مع arguments.
Runtime وVM
يحوّل Compiler كل action إلى منطقة Bytecode مستقلة. ينفذ VM CONST, LOAD, STORE, العمليات الحسابية والمنطقية، القفزات، CALL, RETURN, SEND, RECEIVE, CAP_RESTRICT, CAP_CONSUME, العقود، التفاوض، Proof وEvidence. يستخدم كل استدعاء frame محليًا، ويطبق حد recursion، ويستعيد env وstack وcall_stack عند النجاح أو الاستثناء.
Capabilities وContracts
القدرات موارد خطية قابلة للمنح والتقييد والاستهلاك. لا يمكن استهلاك capability خطية مرتين، ولا يمكن لـrestrict توسيع max/limit أو scope المصدر، وتُرفض capability المفقودة. تفحص العقود شروطها وقت التشغيل، بما في ذلك التعبيرات البسيطة، قبل دخول التنفيذ.
Negotiation وEvidence
تسجل حالات التفاوض المعلنة في Evidence، كما تسجل العمليات الحساسة مثل CALL, SEND, RECEIVE, CAP_RESTRICT وCAP_CONSUME. كل Proof يحمل proof_id حتميًا؛ Proof references are deterministic identifiers and are not production zero-knowledge proofs.
Distributed messaging
يوفر DistributedNode توقيع Ed25519، ربط هوية peer، nonce وحماية replay، routing يعتمد receiver المسجل، والتحقق من الرسائل المشوهة أو receiver المزور.
DistributedNode provides authenticated point-to-point transport; it is not a Byzantine fault-tolerant consensus protocol.
Security model
تتضمن النواة فحصًا ساكنًا للأنواع والقدرات، ownership محافظًا عبر الفروع، runtime policy enforcement، canonical message payloads، Ed25519 peer authentication، replay protection، وEvidence chain تعتمد SHA-256. راجع docs/hardening.md وsecurity/threat_model.md للتفاصيل.
الاختبارات والجودة
شغّل كامل suite عبر:
python -m unittest discover -s tests -v
وتتضمن الاختبارات syntax وtype errors وlinear capabilities وnested CALL وrecursion cleanup وcontracts وnegotiation وProof IDs وSEND/RECEIVE وDistributedNode routing وforged receiver وmalformed messages وreplay. كما يمكن تشغيل coverage run -m unittest discover -s tests.
البناء والنشر
python -m pip install --upgrade build
python -m build
ينتج ذلك dist/nova_agent_language-0.1.0.tar.gz وdist/nova_agent_language-0.1.0-py3-none-any.whl. اختبر التثبيت في بيئة منفصلة قبل أي نشر خارجي:
python -m venv test-env
source test-env/bin/activate
python -m pip install dist/nova_agent_language-0.1.0-py3-none-any.whl
python -c "import nova; print('Nova OK')"
بعد مراجعة metadata والتوقيع والاختبار، يمكن لمالك المشروع نشر الملفات إلى PyPI عبر twine وإنشاء GitHub Release باسم v0.1.0. لا تنفذ هذه الخطوة تلقائيًا لأنّها نشر خارجي يتطلب حساب المستخدم وموافقته.
Limitations
هذه Initial Public Prototype وليست 1.0.0. لا يدعي الإصدار وجود zero-knowledge proofs إنتاجية، أو Byzantine consensus، أو sandboxing إنتاجي، أو public package registry، أو self-hosting كامل. النقل الموزع نموذج authenticated point-to-point، والـProof reference معرف حتمي لأغراض البحث والاختبار.
الترخيص
المشروع مرخص بموجب MIT License. راجع LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nova_agent_language-0.1.0.tar.gz.
File metadata
- Download URL: nova_agent_language-0.1.0.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91b999ea8bf64c63912fa5dce367359e4b3c51aeed12867a81331c032b3d019d
|
|
| MD5 |
ab7fbba184ac8fdd4622aee68549a5f3
|
|
| BLAKE2b-256 |
6e23fa1a7fa5667109c9caa98ade4733e24bb401b7f356dfc0c4564b7ab4f45f
|
Provenance
The following attestation bundles were made for nova_agent_language-0.1.0.tar.gz:
Publisher:
publish.yml on adnanomar77/nova-lang
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nova_agent_language-0.1.0.tar.gz -
Subject digest:
91b999ea8bf64c63912fa5dce367359e4b3c51aeed12867a81331c032b3d019d - Sigstore transparency entry: 2645310728
- Sigstore integration time:
-
Permalink:
adnanomar77/nova-lang@9a7b2cae31af67f56ce9cab3f9ad355e1357c014 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/adnanomar77
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9a7b2cae31af67f56ce9cab3f9ad355e1357c014 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file nova_agent_language-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nova_agent_language-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1660c175d4af1dc009eef6c9b8d72a6aca94e2c93518196b6f576829e4e8f60d
|
|
| MD5 |
f8ad1c17de0ed3b563fdde78cd27a67b
|
|
| BLAKE2b-256 |
b6aac34afbe483b7c8bd7b6f8b8d4da32b3721f59b90544b81d04915047bdf7f
|
Provenance
The following attestation bundles were made for nova_agent_language-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on adnanomar77/nova-lang
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nova_agent_language-0.1.0-py3-none-any.whl -
Subject digest:
1660c175d4af1dc009eef6c9b8d72a6aca94e2c93518196b6f576829e4e8f60d - Sigstore transparency entry: 2645310770
- Sigstore integration time:
-
Permalink:
adnanomar77/nova-lang@9a7b2cae31af67f56ce9cab3f9ad355e1357c014 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/adnanomar77
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9a7b2cae31af67f56ce9cab3f9ad355e1357c014 -
Trigger Event:
workflow_dispatch
-
Statement type: