AI prompts
base on Source code of Ferrocene, safety-critical Rust toolchain <!-- SPDX-License-Identifier: MIT OR Apache-2.0 -->
<!-- SPDX-FileCopyrightText: Ferrous Systems GmbH -->
<br>
<p align="center">
<img height="75" src="https://github.com/ferrocene/ferrocene/raw/main/ferrocene/logo.svg" alt="Ferrocene Logo: A circle between two planes, representing the chemical compound of the name Ferrocene, with the name written next to it.">
</p>
<br>
Ferrocene is a toolchain to enable the use of the Rust programming language in
safety-critical environments. It is a proper downstream of the main Rust
compiler - rustc, maintained by the Rust project on [`rust-lang/rust`].
The mission of Ferrocene is to bring open source practices to safety-critical
industries and improve the Rust open source ecosystem through safety-critical
practices.
Ferrocene is maintained and supported by the world-renowed experts at Ferrous
Systems. Both standard and long-term support are available. Check [our
website][website] for details.
## Current status
Ferrocene is qualified for ISO 26262 (ASIL D) and IEC 61508 (SIL 4).
Qualification for other standards and areas, such as railway and aerospace,
are planned.
## Installation
Prebuilt Ferrocene binaries are available for customers and partners. You can
visit [releases.ferrocene.dev] to download the release archives after logging
in with your Ferrocene account.
## Documentation and Procedures
The documentation of the Ferrocene toolchain and its source can be found
in the [`ferrocene/doc` directory]. The documentation contains the projects
procedures, its quality management measures and current testing coverage.
Rendered versions of the documentation are also available:
* [docs.ferrocene.dev]: available to customers and partners, contains the
documentation for all release channels.
* [public-docs.ferrocene.dev/main]: publicly available, contains the
documentation for the latest commit merged on the `main` branch.
## Support
Multiple levels of support are available for paying customers, provided by
[Ferrous Systems]. You can log into [customers.ferrocene.dev] to learn about
your support plan, and how to send support requests.
## Contribution policy
As a downstream of the Rust project, Ferrocene prefers to keep the compiler
unmodified. This means that general contributions to the compiler or its tools
(and discussions) should happen upstream ([`rust-lang/rust`]). However, Ferrocene does
serve as a community of peers to propose and produce changes useful in
safety-critical changes towards the project.
Contributions to qualification activities and manuals are welcome, but
generally gated. Contribution is open to industry and academic partners,
customers, and project employees.
You can use the [Ferrocene issue tracker][issues] to file an issue for the
materials provided by the Ferrocene developers. Please note that the issue
tracker is not a support channel.
Please note that Ferrocene is governed under the Apache-2.0 license and
contribution policies apply to the issue tracker as well as the codebase
itself.
## Additional services
[Ferrous Systems] provides services built and tailored around Ferrocene:
* **Trainings:** trainings on Rust and Ferrocene, particularly for teams, are
available. Trainings can be custom tailored to your needs. [Check out our
training offerings.][trainings]
* **Inclusion in SDKs:** Ferrocene is available to be integrated in your
toolchain! Please [get in touch][contact] to learn more.
* **Tailoring, enabling and integration within your system**: We're more than
happy to enable Rust support in your operating system or tool, including
porting the Rust compiler to the targets you need and qualifying them in
Ferrocene. [Get in touch][contact] to learn more.
* **Infrastructure support**: Ferrocene is built for a DevOps world. Rust
for your builds in the cloud is a first-class citizen for us, and we can
provide support tailored to you. [Get in touch][contact] for more
information.
## Security
Please follow [Ferrocene's security policy][security] if you discover a
security vulnerability affecting Ferrocene.
## License and trademark
The contents of the repository are primarily licensed under either the MIT or
Apache 2.0 license: users can choose either license, and contributors must
license their changes under both licenses. Note that the repository contains
files authored by third parties and published under different licenses, see the
annotations next to those files.
Ferrocene is a registered trademark of Critical Section GmbH, a subsidiary of
Ferrous Systems. See our [trademark policy][trademark] for the guidelines on
the use of the trademark.
[issues]: https://github.com/ferrocene/ferrocene/issues
[trainings]: https://ferrous-systems.com/training
[contact]: https://ferrous-systems.com/contact#ferrocene
[trademark]: ./TRADEMARK.md
[security]: https://github.com/ferrocene/ferrocene/security/policy
[website]: https://ferrous-systems.com/ferrocene
[Ferrous Systems]: https://ferrous-systems.com
[releases.ferrocene.dev]: https://releases.ferrocene.dev
[docs.ferrocene.dev]: https://docs.ferrocene.dev
[public-docs.ferrocene.dev/main]: https://public-docs.ferrocene.dev/main
[customers.ferrocene.dev]: https://customers.ferrocene.dev
[`rust-lang/rust`]: https://github.com/rust-lang/rust
[`ferrocene/doc` directory]: ferrocene/doc/
", Assign "at most 3 tags" to the expected json: {"id":"3097","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"